防止过了几个月就忘了

单位复根 ωn=e2πin=cos(2πn)+isin(2πn)\omega_n=e^{\frac{2\pi i}{n}}=\cos\left(\dfrac{2\pi}{n}\right)+i\cdot \sin\left(\dfrac{2\pi}{n}\right)

性质

ωnn=1ωnk=ω2n2kω2nk+n=ω2nk\begin{aligned} \omega_n^n&=1\\ \omega_n^k&=\omega_{2n}^{2k}\\ \omega_{2n}^{k+n}&=-\omega_{2n}^k\\ \end{aligned}

阅读全文 »

换根 dp 模板题

f(x,d)f(x,d) 表示在 x 的子树中,与 x 距离为 d 的点值之和。
g(x,d)g(x,d) 表示与 x 相距 d 的点之和

g(x,d)=f(x,d)+g(fa,d1)f(x,d2)g(x,d)=f(x,d)+g(fa,d-1)-f(x,d-2)

答案为 g 的前缀和

阅读全文 »

区间 dp ,注意枚举端点 i,j,k 的顺序,模拟一下就好了,如果使用了未更新的状态,就是错的

sorry for that i don’t have a chinese input method

Functions:

g(x, l, r) means we have the largest cow which can eat pos(x) , and it can only affect pies in [l, r]

阅读全文 »

P2569 (SCOI2010)股票交易

巧妙的单调性优化

f(t,x)f(t,x) 表示第 tt 天,手持 xx 只股票时的最大利润,显然有几种转移方式

  1. 在第 tt 天什么也不做

    f(t,x)=f(t1,x)f(t,x)=f(t-1,x)

  2. 在第 tt 天买进股票,刚好买 xx

    f(t,x)=xAPif(t,x)=-xAP_i

  3. 在第 tt 天买进股票

    f(t,x)=max1xASi(f(tw1,xx)xAPi)f(t,x)=\max\limits_{1\le x'\le AS_i}(f(t-w-1,x-x') - x'AP_i)

    为什么是 tw1t-w-1 呢,假设实际上上一次操作是在第 tt' 天,那么就相当于从第 tt' 天到第 tw1t-w-1 天什么也不做,这种情况在上面已经考虑过了,所以答案 f(tw1,xx)f(t-w-1,x-x') 不会比 f(t,xx)f(t',x-x') 小。

  4. 在第 tt 天卖出股票

    f(t,x)=max1xBSi(f(tw1,x+x)+xBPi)f(t,x)=\max\limits_{1\le x'\le BS_i}\left(f(t-w-1,x+x')+x'BP_i\right)

阅读全文 »

CF372C Watching Fireworks is Fun

单调队列优化区间 dp

f(i,j)f(i,j) 表示放到第 ii 个烟花,当前在 jj 的位置,设可以在两次烟花之间的移动距离为 ss 可以发现

f(i,j)=minjskj+s(f(i,k))+biaijf(i,j)=\min\limits_{j-s\le k\le j +s}(f(i,k))+b_i-\vert a_i-j\vert

阅读全文 »

这两天考的都是 USACO 的题

USACO 2019 December Contest, Platinum

pieaters

区间 dp ,注意枚举端点 i,j,k 的顺序,模拟一下就好了,如果使用了未更新的状态,就是错的

阅读全文 »