原创 HDU 4888 Redraw Beautiful Drawings 最大流(唯一性)

題意:n*m矩陣 告訴每行的和,每列的和,問每個格子只能填0~k時 是否有解,若有唯一解 輸出該解. n,m<=400,k<=40. 每行i每列j看

原创 Codeforces 479E Riding in a Lift DP+前綴和

點擊打開鏈接 題意:n個點1~n,初始在a點,禁止到b點,操作:每次可以從x到y點,當且僅當x!=y並且|x-y|<|x-b|. 問k次操作後能得到多少個不同的序列? n,k<=5000 設dp[j][i] 從i開始,操作j次能得到的方法

原创 ARC 078F Mole and Abandoned Mine 狀壓DP

題意:n點m條邊的無向圖,刪除第i條邊花費c[i],問1到n只有一條路徑時所需要的最小花費? n<=15,c[i]<=1e6. 設dp[S][x]

原创 Codeforces 463D Gargari and Permutations DP(LCS變形)

題意:k個1~n的排列,求這k個排列的LCS.k<=5,n<=1000. 法1: 因爲序列爲排列,設dp[x]以x結尾能得到最長的LCS. 當x出現

原创 ARC 060E 高橋君とホテル 倍增+二分

題意:一條直線上有n個點x[i],x[i+1]-x[i]<=L,操作:每次可以從一個點跳到距離不超過其L的另一個點上. Q次詢問,問從a[j]點跳到b[j]點的最少操作次數? n<=1e5,x[i],L<=1e9 對每個詢問:初始爲i 令

原创 ARC 060F Best Representation KMP(循環節)

題意:定義一個字符串合法:當該字符串沒有循環節存在, 給出string s,令F=(f1,f2..fm) 滿足fi爲s的某一部分.f1,f2,..f

原创 ARC 061E すぬけ君の地下鉄旅行 最短路(拆點)

題意:n點m條邊的線路,每條邊有編號c[i],一條路徑的代價爲:第一條邊代價1+該路徑上相鄰邊編號不同的對數. n,m=2e5,c[i]<=1e6.

原创 Codeforces 341D Vessels 線段樹 OR Set

題意:n個碟子,第i個碟子能裝a[i]水,若第i個碟子裝滿,則多餘的水流到下一層碟子,下一層依次類推 初始碟子爲空,m個操作,op1:第x個碟子裝p

原创 AGC 018C Coins 貪心(排序)

題意:n個人(n=x+y+z) 每個人有金銀銅三種顏色硬幣a[i],b[i],c[i]個,問向x個人拿金,y個人拿銀,z個人拿銅,只能向每個人要一次

原创 ARC 058E 和風いろはちゃん 狀壓DP(bit)

題意:長度爲N,每個元素爲1~10的某一個,總共有10^N種序列,現在給出N,X,Y,Z 問有多少個長度爲N的序列滿足其有四個下標x,y,z,w  使得a[x]+a[x+1]..a[y-1]=X,a[y]+a[y+1]+..a[z-1]=

原创 Codeforces 401D Roman and Numbers 狀壓DP

題意:給出數n,m.問有多少個x 滿足x%m==0 x和n包含相同的數字(無前導0,順序可以不同)? n<=1e18,m<=100.4s時限 最多1

原创 Codeforces 831D Office Keys 二分+貪心

題意:n個人在一條直線上,有終點p和k把鑰匙,每把鑰匙只能拿一次. n,k<=2000,p<=1e9,問n個人同時出發拿了鑰匙到達終點需要的最少時間

原创 HDU 4870 Rating 概率DP(高斯消元)

題意:初始rating爲0,每次比賽有p的概率變爲min(x+50,1000),(1-p)的概率變爲(x-100,0). 0.3<=p<=1.0,某

原创 Codeforecs XOR On Segment 線段樹(區間異或,求和)

題意:區間每個數異或X,區間求和,n,m<=1e5,a[i]<=1e6.開20個線段樹,第i個維護[l,r]內第i位爲1的個數即可,ans+=(1<<i)*query(1,i,l,r) i=1~20. O(20*m*logn) lazy

原创 Codeforces 478D Red-Green Towers 構造+DP

題意:用r個紅方塊和g個綠方塊構造高度爲h的樓時,要滿足第i層有i個方塊,並且相同層的方塊顏色相同.方塊可以不全部用完 r,g<=2e5 求h的最大