6.3 考后总结
时间安排
7:10--8:00 读题。
8:30--8:50 T1,可以最小表示法状压,不过复杂度爆炸,估计着啥都过不了。考虑折半之类的东西,没啥用。
8:50--9:20 T2,没啥想法,写了个 dfs 暴力。猜测值域不超过 B ,可以 nB^3 dp 。
9:20--9:40 T3,暴力。如果不考虑询问右边界应该可以预处理,有右边界应该可以扫描线什么的,但是还要取 min 后求和,不会做。
9:40--10:50 T1,好像可以枚举子集做 dp ,3^n m^2。卡常数。好像能卷积但是模数不友好。不知道怎么优化复杂度。
11:00--11:40 给 T2 写了个随机调整。卡 T1 。
回顾反思
T1:
一直在想怎么优化算法,忽略了观察 dp 式。
sol1:
观察到枚举子集的系数只和一个比较小的常数有关,于是可以将对应常数相同的一起转移。
sol2:
一个更简洁的想法。
观察式子

是个类似于卷积的形式,将组合数部分换元,那么原本的 m^2 的乘法变成了 m 的位移。
答案只要在算出多项式后代入就可以了。
T2:
这种对于数字大小有限制的,可以转化为差分。
于是发现限制变成了相邻的差分值的绝对值的限制,于是 dp 状态里只需要考虑相邻的 1 个差分值,而不需要把连着几个数的真值压进去。
T3:

浙公网安备 33010602011771号