某岛

… : "…アッカリ~ン . .. . " .. .
November 1, 2022

Educational Codeforces Round 138

Problem D. Letter Picking

区间博弈 dp,状态 f[][],但是比一般的博弈 dp 要简单,转移 trivial。
首先我们可以两轮操作绑定在一起转移,只要考虑长度为偶数的状态,并且也不用记录上一轮选了什么字符。
进一步不难归纳出结果只有可能是先手胜或平局,进一步简化状态和转移。

Problem E. Red-Black Pepper

调整法。先考虑判定性问题,用扩展欧几里得求丢番图方程 ax + by = n 特解,然后判断是否存在一组解使得 ax 在 [0, n] 范围内即可。

考虑最优化问题,根据输入,可以预处理出关于 ax 的,定义域为 [0, n] 之间整数的,非严格凸函数 f,所谓非严格就是可能中间存在一些相等的情况,比如最值可能会是一个区间,
不过稍后会看到,这问题并不大。。

每次询问的目标函数的定义域则是 f 函数的子集,以特解为中心,每次步长为 lcm(a, b),这也是非严格凸函数,因为我们已经预处理出了它的导数,所以可以在导数上二分求极值。
不过我们能做的更好,只要检查最值附近的两个点的函数式值 f(xl), f(xr) 即可,具体来说,假设我们预处理阶段保留的是最值的右端点 x0,
那么就检查 xl < x0 <= xr,如果是左端点,
就检查 xl <= x0 < xr。。。

Problem E. Cactus Wall

平面图最小割

等价于对偶图最短路
边权只有 01,所以开两个队列 bfs() 即可。