CCPC Final 2017

正式榜rk17,和ECF19差不多(个人估计19及之前的年份队伍排名难度应该是差不多的,20开始显著上升),很可惜本来以为稳八题的(对应rk12),但连板子题J都没调出来,F题队友看出来但来不及写了,感觉前面我写的两个题占用机时超出预期是很大的问题。
代码不难的G题(只有一点小细节的贪心优化DP)占了40min(+2),然后I题从讨论出做法到AC用了2h+(+2),但其实也不是什么大码题。
最近几场VP一直被队友吊打,太菜了。
D
原本想了会暴力DP,发现后缀最值的动态维护需要一个单调栈二分;然后发现第二维的决策有单调性,想利用这个优化,但好像都得带log;然后队友说了和当前区间有交的转移肯定只取最远的,预处理即可,才反应过来很对;原本思维过于僵化了,只会往熟悉的方向想,缺乏对题目的性质的考虑。
调试的主要时间浪费在原本以为是端点覆盖,实际上是序列覆盖。
WA2是因为原本前缀最大值的维护在dp转移后才做。
I
看到颜色修改,直接无脑说了个时间序分治(就只有增加没有删除操作,很多题目确实会可做很多);之后讨论出修改的影响,就显然删除和增加是一样简单的,直接做就好。
实现的代码难度一般吧,但首交WA2之后搞了1h才过,因为原本一直没发现没有判断只有当前边在环上的时候,才要有整个环颜色相同的特判
J
剩下40+分钟开始码J(差分约束板子题,队友说不太熟悉差分约束),原本以为这种板子肯定半小时内搞定,结果各种出错,到比赛结束后十几分钟才过。太久没写了,只知道核心思路,再加上比较到最后比较乱,实现细节各种问题。
错误1.没有新建一个0点并向所有点连一条权值为0的边
如果只是以一个点为起点开始跑,对于初始点s没法到达的那些点,它们之间的限制(即有向边)是没法实现约束的;所以新加一个点并向所有点连权值为0的边,可以保证所有的有向边的约束都能起作用。
错误2.把边连反了
因为脑子混乱把一些边连反了,模样例的时候也模反了,纠结了很久
浙公网安备 33010602011771号