一句话奶牛
Time is Mooney G 当你发现轮数不会很多时,可以一轮一轮地整体做转移。
Redistributing Gifts S 思考能够替换的等价条件,发现是可达性,使用传递闭包来维护。
Rectangular Pasture S 横纵坐标互不相同,离散化成一个 \(n\times n\) 的棋盘,每行每列恰一个点,枚举上下边界计数即可。
Photoshoot B 将 HG 设为 \(1\) , GH 设为 \(0\) ,操作等价于翻转并反转,对于同一个颜色段可以简化为反转,操作次数为 颜色段数 - [最后一段是否为 \(1\)] 。
Dance Mooves S 处理出以 \(i\) 开始一轮会经过的位置集合 \(S_i\) 以及结尾位置 \(p_i\) ,将 \(i\to p_i\) 组成的环上 \(S_i\) 合并。
Help Yourself G 我们将连通块的贡献放到 \(l_{min}\) 的线段上,一条线段造成贡献当且仅当跨过其左端点的线段都不选,剩下的任意。
Bribing Friends G 考虑选择了 \(S\) 中的朋友,那么冰淇淋一定是用到了 \(x_i\) 尽可能小的朋友身上。按照 \(x_i\) 排序,最后形如 前缀使用冰淇淋支付,后缀全部使用钱,中间至多一头奶牛混合支付。 DP 预处理前缀后缀即可。
Spaced Out S 首先连续的两个并排或并列肯定只会出现一种,分开考虑,扫描每一行,发现每一行都形如只选奇数或偶数位置上的数,且行与行独立,贪心即可。
Just Green Enough S \([=100]=[\ge 100] - [>100]\) ,转换成 \(01\) 矩阵求全 \(1\) 子矩阵个数,容易做到 \(\mathcal O(n^3)\) (其实可以加强到 \(\mathcal O(n^2)\))。
时间仓促,如有错误欢迎指出,欢迎在评论区讨论,如对您有帮助还请点个推荐、关注支持一下

USACO 精选
浙公网安备 33010602011771号