AT5141 [AGC035D] Add and Remove

题目链接

真心想不到啊...

每个数的贡献次数和其被删除是左右的点将要贡献的次数有关。具体来说,如果点 (p) 被删除时左右端点为 (l,r),贡献次数分别为 (x,y),那么 (p) 的贡献次数为 (x+y)。并且还能发现子结构:((l,r,x,y)) 表示左端点为 (l),右端点为 (r),左右端点贡献次数分别为 (x,y),求中间部分最小代价。那么有转移:

[f(l,r,x,y) gets f(l,p,x,x+y)+f(p,r,x+y,y)+a_p(x+y) ]

于是就可做了。

复杂度:(O(n^32^n)),因为 (x+y le 2^n)

原文地址:https://www.cnblogs.com/JiaZP/p/13687716.html