虽然好像没啥人做,但还是先放着,相信总是有人来看的。
LOJ2414「JOI Open 2017」高尔夫
容易说明最终路径一定只有以下两种情况:
- 横纵坐标有一维与起终点相同
- 是一个矩形四条边的延长线之一
然后直接线段树优化建图跑 bfs 即可,总复杂度 \(O(n\log n)\)
LOJ3362「JOI Open 2020」黑白点
经过一些观察,对于一条边,他把整个圆分成了两段弧,那么与这条边相交的边至多只有 min 两段弧长度 条。此时猜测最优构造中这个上界可以达到。设黑点坐标分别为 \(a_i\),白点坐标为 \(b_i\),那么最终匹配方案一定是 \(a_i\) 与 \(b_{(i+k)\bmod k}\) 连边。
然后随便加点什么优化就好了。
LOJ3363「JOI Open 2020」发电站
设 \(f_u\) 为只考虑 \(u\) 子树内的节点的答案。转移的时候若 \(u\) 子树内有被选中的点,那么 \(u\) 就会被烧坏,因为如果只有一个子树被选,这种情况要么会在这个子树里被算到,要么可以在上面再选一个点,所以这个贪心是对的。
然后统计答案是简单的。
LOJ3522「JOI Open 2021」怪兽游戏
发现如果把题目中的比较方式丢到 sort 里面会得到若干段递减的总体上升的序列,且每一段都不长,即 3 2 1 5 4 8 7 6 这样。
那么先直接做一次归并排序,然后对得到的结果略加修改即可。
LOJ3539「JOI Open 2018」猫或狗
看上去暴力动态 dp 就好了。
LOJ3540「JOI Open 2018」山体滑坡
先观察一下询问的本质是什么,是询问一个点的前缀,一个时间的前缀的连通块个数。
考虑回滚莫队,对时间维度回滚,然后用可撤销并查集维护边集,这样总复杂度为 \(O(n\sqrt n \log n)\)。你看上去这很慢,但我只跑了时限的 \(1/5\)。
LOJ3541「JOI Open 2018」木琴
询问所有的 \((i,i+1)\) 和 \((i,i+2)\),然后可以判断 \((a_i-a_{i-1})(a_{i-1}-a_{i-2})\) 的正负性。就做完了。