省选组真的比A组简单。。。远古时期的集训队出题难度都不大
比赛思路
- T1( 拯救Protoss的故乡):树形DP???暴力操作显然不可行。模型很像网络流,有的边费用为0,有的边费用为1,所以直接费用流???要保证费用在某个范围内,二分流量吧。
- T2(彩色圆环):期望DP的简单题,设好状态转移就好,我打了一个很劣的n3做法,原本怕卡精度,结果还好。
- T3(神奇的K线):DP吧,一些难处理的条件被迫从思想n2,变成n4。
赛后消化
- T1是棵树,为什么我还要网络流???直接贪心就好了,又没有方向边。
- 题解上写着还能优化成O(n)???Orz。疯狂优化,思路清晰,不愧是集训队大爷。
- 疯狂优化的DP。
总结
- 不要盲目相信网络流,显然的性质不要放过,比如T1可以直接贪心,还不用二分。
- DP真神奇。
今天T2、T3出现的DP优化思路
- T2从三维状态变为两维,同时多一个O(n)的枚举,但是却可以用前缀和优化这个n,于是很优秀地降了一个n的复杂度。
- T3根据答案的计算方法的需求,简化状态。
- T3根据限制条件分组,例如要求在first相等的状态中转移,那么就把这些拉出来做。
- T3根据限制条件确定枚举顺序,并辅以数据结构,例如要求i’-j’<=i-j,那么就按这个排序。同时又要求j’<=j,那么就以j为关键字建一个线段树(树状数组),并且区间查询以转移刚好吻合。