摘要: 考虑这题是什么意思,其实就是让你把 DAG 划分成若干个集合,点之间连边转化为对应集合之间连边以后图仍然是一个 DAG,然后需要知道划分成了多少个集合,每种集合的个数求出方案数,乘上对应的系数并求和。 系数是很显然的,即: \[{k+1\choose i}\frac{i!k!}{n!\prod_{i 阅读全文
posted @ 2024-03-10 18:38 zifanwang 阅读(56) 评论(0) 推荐(0)
摘要: 首先 Bob 肯定是贪心操作,即如果能操作且右儿子中第一个数小于左儿子中的第一个数就一定操作(因为排列中的数两两不同),否则不操作。 考虑一个 dp,即 \(f_{i,j}\) 表示 \(i\) 中的子树操作完以后使得第一个数为 \(j\) 的最小代价。发现总状态数是 \(\mathcal O(2^ 阅读全文
posted @ 2024-03-10 17:52 zifanwang 阅读(67) 评论(0) 推荐(0)
摘要: 首先有个很显然的 \(\mathcal O(nk^2)\) 的做法,即二分答案,然后 trie 树上判断。 对于 trie 树上一颗子树内的判定,考虑当前二分的 \(\text{mid}\) 这一位是 \(1\) 还是 \(0\) 以及 \(x\) 这一位填什么。 对于 \(1\) 的情况,如果填 阅读全文
posted @ 2024-03-10 17:26 zifanwang 阅读(77) 评论(0) 推荐(0)
摘要: \(\large\textbf{Statement.}\) 求出最小的非负整数 \(m\),使得: \[\left|x-\sum_{i=0}^{m-1} x_{i \bmod n}\right|+\left|y-\sum_{i=0}^{m-1} y_{i \bmod n}\right|\le mk 阅读全文
posted @ 2024-03-10 17:09 zifanwang 阅读(52) 评论(1) 推荐(0)