5.18作业选讲
1. [ABC256Ex] I like Query Problem
解法1
势能线段树。
维护区间最大值 $x$ 和最小值 $y$,如果某个区间 $x=y$ 则直接整除并打上标记,由于一个数字至多整除 $\log{w}$ 次就变成 $0$,而一次区间推平操作至多把 $O(\log{n})$ 个区间推平,所以总复杂度为 $O(n \log{n} \log{w})$。
解法2
个人解法,不喜误喷(
分块珂朵莉树,具体解法详见洛谷题解区。
2. CF1270E Divide Points
首先观察发现只有黄蓝两种边,不难想到奇偶性分类。
所以将 $x, y$ 坐标和为偶数的分为一组(记为黑点),和为奇数的分为另一组(记为白点),则组内连边长度的平方为偶数,组间连边长度的平方为奇数,能满足题目要求。
但题目要求黑白点都要有,而输入可能只有黑/白点。
所以考虑调整。
如果全是黑点,那么可以进行旋转,$(x, y)$ -> $(\frac{x+y}{2}, \frac{x-y}{2})$。
如果全是白点,则可以整体下移一格变成全黑点,点的性质不变,此时可以按照全黑调整。
不断调整直到同时存在黑白点即可。
3.CF1146G Zoning Restrictions
观察数据范围,可以考虑区间dp。
记 $f_{l,r,h}$ 表示区间 $[l, r]$ 内最高高度为 $h$ 的最大收入。
注意:对于一个dp状态 $f_{l,r,h}$,考虑的限制仅仅是完全被这个区间包含的限制,而非部分包含。
所以不难写出转移:$f_{l, r, h} = \max\limits_{k = l + 1} ^ r{mx_{l, k-1, h} + mx_{k, r, h} - w_{l,r,k,h}}$。
其中 $mx_{l,r,h}=\max\limits_{i=0}^h{f_{l,r,i}}$,$w_{l,r,k,h}$ 表示限制完全包含在区间 $[l,r]$ 内并且经过点 $k$ 且限制高度小于 $h$ 的总代价。
直接转移即可。

浙公网安备 33010602011771号