摘要:
不关心序列形态,将 \(c_i\) 也就是 \(i\) 的出现次数记录下来。 那么每次操作就是选择 \(c_i > k\) 的 \(i\),分裂成 \(1\) 个 \(i\) 和 \(c_i - 1\) 个 \(i + 1\)。 从小到大遍历 \(i\),可以记录一个目前剩下多少个元素和操作次数,由 阅读全文
posted @ 2025-11-27 22:59
Alexande
阅读(3)
评论(0)
推荐(0)
摘要:
把问题转化为假设最后确定 \(p\),那么每个元素从 \(0, p - a_i, a_i - p\) 中选取一个。 那么肯定是排序后一段前缀选择 \(p - a_i\),一段后缀 \(a_i - p\),贪心一下即可,你嫌麻烦可以直接三分。 阅读全文
posted @ 2025-11-27 21:42
Alexande
阅读(7)
评论(0)
推荐(0)
摘要:
限制分开讨论。 首先对于一个位置,如果两个地方的限制都有,那么填 \(k + 1\),因为此时不能填 \(< k\) 的数,也不能填 \(k\),因此填 \(k + 1\)。 如果什么限制都没有,那当然是填什么无所谓。 重要的就是只有两个限制的其中一个该怎么办。 如果只有 \(\min\) 的限制, 阅读全文
posted @ 2025-11-27 20:44
Alexande
阅读(11)
评论(0)
推荐(0)
摘要:
太非人类了。 首先想如果给定一个排列如何简单的判断合法,再困难的计数题如果连这个都不可以简单计数那就完犊子了。 经典结论是交换距离为 \(\sum [p_i > i](p_i - i) \le m\),容易证明充分性,必要性可以感性理解,主要就是任意一对元素的交换距离之和。 你还发现一个事情就是必须 阅读全文
posted @ 2025-11-27 19:50
Alexande
阅读(7)
评论(0)
推荐(0)
摘要:
考虑轮廓线 DP。 阅读全文
posted @ 2025-11-27 17:31
Alexande
阅读(8)
评论(0)
推荐(0)
摘要:
像对偶图一样,转化成最小生成树问题(最小瓶颈生成树)。 稠密图求最小生成树使用 Prim 算法可以做到 \(O(m + n^2)\)。 阅读全文
posted @ 2025-11-27 17:30
Alexande
阅读(7)
评论(0)
推荐(0)
摘要:
考虑按照列 DP,设 \(f_{i, l, r}\) 为到了第 \(i\) 列左边放置了 \(l\) 个,右边放置了 \(r\) 个,顺序转移是 \(O(n^3)\) 的。 你发现有一维是不需要的,可以直接算出来,去掉即可,时间复杂度 \(O(n^2)\)。 阅读全文
posted @ 2025-11-27 17:29
Alexande
阅读(3)
评论(0)
推荐(0)
摘要:
首先考虑 DAG 计数,设 \(f_{s, s'}\) 表示目前确定的点集为 \(s\),最后一层点为 \(s'\),因为我 DAG 计数按照拓扑序一定是一层层转移的,你会发现这个状态数是 \(O(4^n)\),直接爆炸了。 比较神秘的优化是,去掉 \(s'\) 这一维,转移可能有重,我们直接容斥, 阅读全文
posted @ 2025-11-27 17:26
Alexande
阅读(4)
评论(0)
推荐(0)
摘要:
考虑将 \(q\) 转置一下变成每个 \((i, i + 1)\) 在什么时候交换,显然数量一样。 那么你考虑到一个点 \(p\) 到达它应该到的位置 \(t\),其中相当于限制一条链上的交换时间必须从小到大,如果不满足这个限制显然输出 \(0\)。 现在问题变成了已知相邻两个位置大小关系求排列个数 阅读全文
posted @ 2025-11-27 17:24
Alexande
阅读(4)
评论(0)
推荐(0)
摘要:
二分套 wqs 二分。 阅读全文
posted @ 2025-11-27 17:21
Alexande
阅读(8)
评论(0)
推荐(0)
摘要:
首先我们考虑一个弱化版,有向图三元环计数怎么做。 比较巧妙的做法是,容斥后求三个点不构成三元环的个数,那么其中必有也只有一个点向其它两点连边的方向相同,我们从这个点记录这种三元对的个数。 也就是假设一个点出度为 \(p_i\),那么这种三元对的个数就是 \(\sum C_{p_i}^2\)。 放到这 阅读全文
posted @ 2025-11-27 17:21
Alexande
阅读(4)
评论(0)
推荐(0)
摘要:
结论是建出笛卡尔树后每个结点的深度相当于从这个结点向前向后严格前后缀最大值个数,那么路径长度等价于这个,我们只需要快速维护这个即可。 这是单侧递归线段树模板题,使用线段树即可做到 \(O(n \log^2 n)\)。 阅读全文
posted @ 2025-11-27 17:18
Alexande
阅读(2)
评论(0)
推荐(0)
摘要:
一个经典结论是图上所有环都可以被简单环组合出来。 那么本题相当于要求一条边必须出现在所有的奇环中并且不能出现在所有的偶环中,使用树上差分求解即可。 阅读全文
posted @ 2025-11-27 17:16
Alexande
阅读(4)
评论(0)
推荐(0)
摘要:
求连了一条边后,所有点到这个环的距离最大值。 那么你发现难点其实在于求一个点挖掉一个子树后的答案,对于一条链求这个东西其实并不简单。 一个好做的方法是,我们对于每个结点记录它父亲挖掉它的最大值,这样每个结点的值就都是唯一的了,我们使用倍增求个最大值即可。 遇到不好维护的问题,考虑转化对象,使得求的东 阅读全文
posted @ 2025-11-27 17:15
Alexande
阅读(3)
评论(0)
推荐(0)
摘要:
首先发现是一个区间 DP 的形式,那么这些限制就是限制了某些位置不能转移,可以差分一下看哪些位置可以转移。 阅读全文
posted @ 2025-11-27 17:13
Alexande
阅读(3)
评论(0)
推荐(0)
摘要:
列出区间 DP 转移式,打表发现可以四边形不等式优化,于是优化到 \(O(n^2)\)。 阅读全文
posted @ 2025-11-27 17:11
Alexande
阅读(2)
评论(0)
推荐(0)
摘要:
正着不好考虑,我们倒着 DP。 设 \(f_{i, s}\) 为距离结束还有 \(i\) 秒,目前状态为 \(s\) 是否可行。这个状态的好处是,转移时如果要操作一个点,那么一直到结束时哪些结点的状态因此而改变是可以确定的,每次转移枚举哪些点操作,那么预处理一下就是 \(O(2^n n^2)\)。 阅读全文
posted @ 2025-11-27 17:09
Alexande
阅读(1)
评论(0)
推荐(0)
摘要:
首先有个显然的贪心做法是: 每次确定一组的左端点 \(l\),尽可能向右拓展,中间的部分就是重排不等式。 但是你发现复杂度是 \(O(n^2 \log n)\) 的,不能通过这个题。 比较有启发意义的一点是,考虑二分这个过程,但是你发现仍然是 \(O(n^2 \log n)\) 的,因为你最坏情况下 阅读全文
posted @ 2025-11-27 17:07
Alexande
阅读(1)
评论(0)
推荐(0)

浙公网安备 33010602011771号