摘要: 难办的显然是一只蚂蚁被其父结点的蚂蚁卡住。 我们令蚂蚁初始的【既定耗时】为其深度(由于每秒一单位)。 蚂蚁被卡住,就是由于有两只蚂蚁的【既定耗时】相同。 直接模拟显然是不好做的。 换个角度,我们让将要被卡住的蚂蚁晚点出发,这样就可以一路畅通了。 晚多少呢?我们可以将蚂蚁的【既定耗时】从小到大排序,开 阅读全文
posted @ 2025-02-10 00:13 Water_M 阅读(19) 评论(0) 推荐(0)
摘要: 跟开了森林书一样。 最大流 概念 有一个有源点 \(s\) 和有汇点 \(t\) 的有向图(网络),边上有【容量】。想象一下,我们从 \(s\) 灌进无限的水,水能从有向路径到达 \(t\),而每条路径最多允许通过【容量】的水。最终从 \(t\) 流出的水即是最大流。 有点抽象,举个例子: 这里有一 阅读全文
posted @ 2025-01-27 22:44 Water_M 阅读(21) 评论(0) 推荐(0)
摘要: 概念 有整数数列 \(\{x_n\}\) 满足形如 \(x_i \le x_j + w\) 的不等式组,称为差分约束系统。我们一般需要输出一组 \(\{x_n\}\) 的可行解,或报告无解。 解法 模板 我们观察不等式,发现与图论中最短路的三角不等式 \(dis_u \le dis_v + w\) 阅读全文
posted @ 2025-01-26 20:51 Water_M 阅读(14) 评论(0) 推荐(0)
摘要: 我们把题意转化一下:(从 \(n\) 级 L-shape 开始倒着填)每次操作就是删去首或尾行、首或尾列,在第 \(n-k\) 次操作后(填 \(k+1\) 级 L-shape 后),\((a,b)\) 刚好在剩下正方形的边缘上。 也就是说,我们剩下的一定是个 \(k \times k\) 的正方形 阅读全文
posted @ 2025-01-24 15:47 Water_M 阅读(30) 评论(0) 推荐(0)
摘要: 首先想到能不能用差分搞搞,但是给自己绕进去了 /kel 我们不妨给 \(\{b_L\}\) 定个不降的序(如果打在数轴上,显然序和答案无关),于是可以拿掉绝对值。 注意到这个和式(记其结果为 \(x\) )中每个 \(b_i\) 的贡献系数 \(c_i = 2i - L - 1\),于是有: \[x 阅读全文
posted @ 2025-01-22 23:38 Water_M 阅读(13) 评论(0) 推荐(0)
摘要: 注意到这里有个区间的 \(b_i\) 最小。我们考虑每个 \(b_i\) 作为最小的时候各操作几次。显然每个 \(b_i\) 的【操作区间】更长是不劣的。于是这些个 \(b_i\) 是可以打成笛卡尔树,进行 DP。 想到这一点,DP 便是不难的了。 定义 \(f_{i, j}\) 为以 \(i\) 阅读全文
posted @ 2025-01-17 20:22 Water_M 阅读(39) 评论(0) 推荐(0)
摘要: 朴素的方法当然就是直接模拟,复杂度貌似是 \(O(n^2 \log n)\),倒闭。 尝试优化无果。 我们不妨换个角度考虑:我们进行一轮 prefix 冒泡排序后,少了哪些逆序对? 进行冒泡排序时,我们相当于移动了 prefix max,剩下的元素集体向前 slide 一格,并与前面的 prefix 阅读全文
posted @ 2025-01-17 19:55 Water_M 阅读(12) 评论(0) 推荐(0)
摘要: 对于这种问题,我们有一个(很典?)的套路。 直接做貌似不可做,故要尝试去【判定】一条边是否是答案。 判断一条边 \((u, v, w)\) 是否是第 \(k\) 大的,只需要把图上所有大于 \(w\) 的边权值重设为 \(1\),小于等于 \(w\) 的边权值重设为 \(0\),看看 \(u\) 到 阅读全文
posted @ 2025-01-16 15:12 Water_M 阅读(27) 评论(0) 推荐(0)
摘要: 神秘题目。 题目的条件十分神奇,\(|A| \le \frac{1}{5} (s+p)\),不知所云。 一开始尝试用皮克定理转化,但是 failed。 阅读理解之后发现有一个(很典)的套路,就是构造出五组方案,使得 \(\sum_{cyc} |A| = s+p\),这样就一定有一组方案,面积小于等于 阅读全文
posted @ 2025-01-15 20:44 Water_M 阅读(27) 评论(0) 推荐(0)
摘要: 似乎是一个很典的套路。 我们注意到一个区间成为答案时,最值一定在端点处。 (如果不是,那么收缩一个一定更优) 于是我们就可以按照最值位置分类。 最大值在区间左边,最小值在区间右边:答案就是 \((a_l + l) - (a_r + r)\)。 最大值在区间右边,最小值在区间左边:答案就是 \((a_ 阅读全文
posted @ 2025-01-14 21:29 Water_M 阅读(28) 评论(0) 推荐(0)