原创 2017icpc北京 Pangu and Stones(區間DP初學)

dp[i][j][k]表示區間 i 到 j 之間的數,合併爲 k 堆的最小花費 當k==1 dp[i][j][1]=min(dp[i][j][1],dp[i][k][v-1]+dp[k+1][j][1]+sum[j]-sum[i-

原创 hdu 3065 ac自動機

把長串裏面不是A到Z的全部變爲一種字符,多組輸入 #include <bits/stdc++.h> #define eps 1e-14 #define pi acos(-1) #define ll long long #defin

原创 hdu 6635 2019杭電多校六 1002 Nonsense Time

從最後一個修改往前遍歷,每次如果凍結的是記錄中的最長上升子序列,就重新暴力一遍最長上升子序列並記錄,注意記錄的時候用path,lis只能求出長度,裏面的數字不一定是最長上升子序列,複雜度因爲是隨機生成的序列,所以最長上升子序列長度

原创 hdu 6703 array

思路:在給的數組上建立主席樹,改一下查詢,查詢L到R之間第一個大於等於k的數,再設一個set,把去掉的數放到set中,查詢完主席樹找set中最接近k的數,答案就是取上面兩個數中的最小值 #include <bits/stdc++.

原创 POJ 1458 最長公共子序列dp

#include <iostream> #include <stdio.h> #include <string> #include <cstring> #include <set> #include <math.h> #defin

原创 Max Sum Plus Plus HDU - 1024 dp+滾動數組

dp[i][j]=k 表示前 i 個數字在選取第 i 個數字的情況下取出 j 段的最大值爲 k 則分兩種情況,當第 j 個數字是單獨爲一段時,當第 i 個數字是跟在 i-1 後面時 所以 dp[i][j] = max( max(d

原创 2019 icpc上海邀請賽 L. Digit sum(找規律)

給一個十進制的數n,把他轉換成b進制,求從1到這個數n在b進制下每個數的每位數之和的總和。 題解給的暴力打表就行了。 我的解法就是找規律,大概就是先求n/b,這樣就知道n的個位數出現了幾輪,乘上1到9之和再乘上每個個位數出現的次數

原创 hdu 6695 2019 杭電多校十 1005 Welcome Party

題意:學生有歌唱能力值和相聲能力值,每個學生參加歌唱或者相聲其中之一,找參加歌唱比賽中歌唱能力值最大的和相聲比賽中相聲能力值最大的,求其差的絕對值使其最小 比賽的時候處理不了重複數據的問題,就一直划水,看到別人用了個STL解決了這

原创 2019 ICPC 上海網絡賽 D. Counting Sequences I

因爲最多就13個非1數字出現,所以枚舉2到3000,每個數字出現次數,中間的剪枝要注意的就是連乘之和不能大於6000,連乘之和已經大於6000或者還沒選數字但是當前能選最小數字的平方已經大於6000就返回 (int)pow(13,

原创 [POJ][1015]Jury Compromise 正確做法

dp[i][j]=k 表示選取 i 個人,其評價差之和爲 j 的所有方案中總評價之和最大爲 k 三重循環,找出各種人數在各個評價差上的最大總評價之和,評價差最多就m202,因爲是-20m到20m之間,所以區間平移,計算出來最大區間

原创 優先隊列最小生成樹prim

#include <algorithm> #include <iostream> #include <stdio.h> #include <string> #include <cstring> #include <queue> #

原创 Help Jimmy POJ - 1661 dp

dpl[i]=x 表示到達第 i 個階梯的左端點需要的最少時間,dpr[i]=x 相應的久是到達第 i 個階梯的右端點所需要的最少時間,對於第 i 個階梯,往下搜尋距離在Max之內的階梯,假設找到階梯 j ,階梯 j 可以使接住從

原创 2018徐州icpc M

對於每個燈求其探照範圍,用向量叉積來判斷是否可以照到,題目給的多邊形是逆時針的,設 燈爲A點,多邊形其中一邊按逆時針方向來講起始的點爲B結尾的點爲C 那麼(向量)AB x (向量)AC是負數就說明這邊能被這個燈照到,所有的燈照的邊

原创 hdu 2222 ac自動機初學

求父串中出現子串的次數 #include <bits/stdc++.h> #define eps 1e-14 #define pi acos(-1) #define ll long long #define RD T*(rand(

原创 歐拉降冪南京icpc

目前看來這個歐拉降冪的取模操作MOD函數需要在快速冪中使用,代替%號取模,m是模數,a應該是被取模數,但是根據圖片,a應該是指數,等一個大佬。 最後輸出結果的時候還要再對m取模 #include <bits/stdc++.h>