Result:90+10+0+20=120

T1:期望100,实际90
T2:期望0,实际10
T3:期望0,实际0
T4:期望100,实际20

复盘:

0~20min:读完题x4,发现T1和T4相对可做,T2、T3不可做,直接弃掉。

20min~1h20min:发现T1有同余性质,把所有同余项合到一起,跑一次线性dp。
每个点最多被处理一次,因此复杂度\(O(n)\)

1h20min~2h:狂写T4

2h~4h:各种debug,挂了

Ans:

T1:正解就是拆出同余项+在每个同余项之中dp,memset太多次所以TLE了最后一个点。
把memset改成顺着原来的增加方式往回清空使用过的dp值。

T2:正难则反,考虑二分距离,用距离x2连边,判断是否能封死(即连通)。
至于为什么要求路径是曲线?是为了便于通过点之间的空隙。

T3:不可做,弃之。

T4:先发现一个性质,整个比赛过程相当于二叉树,\(a[i]\)在叶节点连续递增时有最优解。
因此先排序再区间dp\(O(kn^3)\),最后决策单调性优化\(O(n^2)\)

经验总结:

。。。
最后一道题调了太久,且要求尽量多写正解和高分暴力之后,有一个误区。
就是正解一定是一次写出的,而事实是正解往往是高分暴力+优化。
当然某些情况下也是只靠推导某些结论以得出正解。
因此以后要注意模型的提取和结论的分析。