天天看點

Codeforces1200解題報告

A

1e5*10 10個房間

每次從左或者右 找到第一個為空的位置 置1 break

B

貪心 1-n-1枚舉

每次将new=a[i+1]-k

然後a[i]>=new

多餘a[i]放入背包

否則

new-a[i] 差的用背包補

if(m<0)背包容量<0 不行

C

分2組 取n,m的gcd

nn=n/gcd mm=m/gcd

sx=1 sy/nn 餘數不為0 res1++

sx=2 sy/mm 餘數不為0 res1++

ex=1 ey/nn

ex=2 ey/mm

E 字元串哈希 單哈希 雙哈希都行

kmp