2020 年 9 月刷题日志
CF1384B2 Koa and the Beach
海里每一个位置都有一个深度,而且水里随着时间有锯齿状周期为
当潮汐与深度之和大于给定值
在任意时间 Koa 可以选择游到
开始的想法是随着时间 DP,更好的解法是贪心。
若一个位置在水位最高时仍不会溺水,则称这个位置是安全的,并且可以任意选择出发时机。
即安全位置之间是相互独立的,我们只需判断可达性,尽量到达每一个安全位置。若之后
Koa 的最优决策是在刚退潮时出发,如果能走就尽量往前走,不能走就等,等到涨潮就说明不存在通过方法。
洛谷 P1004 方格取数
在
某人只能向右或向下走,从格子的左上角走到到右下角,共走两次,求最大能取得的数字。
考虑把先走后走转化为两个人同时走,只需要处理遇到两次的值即可。
考虑四维 DP,用
再考虑转移,每一个位置仅可能从其左面或上面转移来,于是可以写出(
当
注意到一些状态是不可达的,因为
考虑当前已走长度
于是记状态为
再注意到可以使用滚动数组。
洛谷 P2181 对角线
注意到一个交点对应凸多边形
注意爆 long long
,需要写成 n * (n-1) / 2 * (n-2) / 3 * (n-3) / 4
。
洛谷 P1042 乒乓球
这是一道比较烦的模拟题,很绕。