随笔分类 -  组合数学

摘要:洛谷传送门 CF 传送门 考虑单个序列如何求答案。 考虑鞅与停时定理。定义一个局面的势能为 \(\sum\limits_{i = 0}^{K - 1} f(b_i)\),其中 \(f(x)\) 是一个关于 \(x\) 的函数,\(b_i\) 为 \(i\) 的出现次数。那么我们要构造 \(f(x)\ 阅读全文
posted @ 2024-08-15 23:23 zltzlt 阅读(37) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 不妨假设先手的牛在后手的牛左边,右边是对称的。 直接给出结论:先手必败当且仅当全部 \(b_i - a_i\) 为奇数。 证明考虑归纳,首先 \(\forall i \in [1, n], b_i - a_i = 1\) 是必败态,因为先手只能往左退,最后后手会把先手逼到最 阅读全文
posted @ 2024-04-04 22:15 zltzlt 阅读(37) 评论(0) 推荐(0)
摘要:LOJ 传送门 考虑若已求出钦定 \(k\) 个升高的排列数量 \(f_k\),那么二项式反演就可以求出恰好 \(k\) 个升高的排列数量 \(g_k\),即: \[g_k = \sum\limits_{i = k}^n (-1)^{i - k} \binom{i}{k} f_i \]考虑求 \(f 阅读全文
posted @ 2024-02-20 18:16 zltzlt 阅读(107) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 什么 [ABC336G] 16 Integers 究极弱化版。 把元素 \(1\) 看成 \(01\),元素 \(2\) 看成 \(10\),元素 \(3\) 看成 \(11\),元素 \(4\) 看成 \(00\)。则转化为统计长度为 \(2\) 的子串 \(xy\) 出 阅读全文
posted @ 2024-02-14 10:46 zltzlt 阅读(98) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 印度出题人玩原神玩的吧??? 考虑计算每条折线被选的概率。考虑相当于是有一个 \(1 \sim n + m - 2\) 的排列 \(p\),然后一条 \(x = i\) 的直线被选且不是最后一个被选的,当且仅当它在 \(p\) 中排在 \(x = 1 \sim i - 1\ 阅读全文
posted @ 2024-01-28 22:00 zltzlt 阅读(59) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 发现去掉匹配的 \(2k\) 个括号后,剩下的串一定形如 \()) \ldots )(( \ldots (\),其中右括号数量为 \(a = m - k\),左括号数量为 \(b = n - k\)。 考虑把剩下的串像 \()) \ldots ) \mid (( \ldot 阅读全文
posted @ 2024-01-28 10:52 zltzlt 阅读(67) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 首先需要了解重心的三种定义: 删掉一个点后剩下子树大小 \(\le \frac{n}{2}\) 的点 \(\sum\limits_{i = 1}^n \text{dis}(u, i)\) 最小的点 最深的 \(sz_u \ge \left\lceil\frac{n}{2}\ 阅读全文
posted @ 2024-01-25 11:11 zltzlt 阅读(24) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 考虑给定 \(b\) 如何构造 \(a\)。 拎出基环树的环部分,把这些点连同它们的边删掉(这个环一定在答案中)。递归做即可。 考虑我们在 \(a\) 的环上连一些在 \(\{b_{i, n}\}\) 中排得比 \(a_i\) 前的 \(i \to j\)。可以将问题转化为 阅读全文
posted @ 2024-01-18 17:52 zltzlt 阅读(14) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 考虑给图分层,一层的点一一对应上一层的一些点。设 \(f_{i, j}\) 为考虑了前 \(i\) 个点,最后一层有 \(j\) 个点,除了最后一层点的其他点度数限制已经满足的方案数。 转移系数是 \(g_{i, j, k}\) 表示这一层有 \(i\) 个点,上一层有 \ 阅读全文
posted @ 2024-01-17 22:06 zltzlt 阅读(21) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 太厉害了!!!!!! 首先竞赛图有个性质,若存在环则一定存在三元环。 先把 DAG 的情况(一条链)特判了。然后缩点。发现非链底的部分不能存在大小 \(> 1\) 的 SCC。所以枚举非链底的部分有多少点,转化为 SCC 的情况。 发现对于任意点(设为 \(1\) 阅读全文
posted @ 2024-01-16 16:17 zltzlt 阅读(21) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 考虑一个很类似的题。我们把正数和负数分开来考虑,最后用 \(0\) 连接一些连续段,形如 \(0 - \text{正} - 0 - \text{正} - 0 - \text{负}\)。 先考虑正数。设 \(f_{i, j}\) 为考虑了 \(\ge i\) 的正数,形成了 阅读全文
posted @ 2024-01-09 18:18 zltzlt 阅读(83) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 我是傻逼。很平凡的一个计数。但是不会啊。怎么会是呢。 考虑 Kruskal 求解 MST on Line 问题。我们可以想到统计边权 \(= a_i\) 的出现次数。 然后又可以容斥转化成统计边权 \(\le a_i\) 的出现次数,设其为 \(f_i\)。 考虑 阅读全文
posted @ 2023-12-29 22:40 zltzlt 阅读(38) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 感觉这个题还是挺不错的。 考虑 F1。考察 \(a_i\) 差分后的意义,发现 \(a_i - a_{i - 1}\) 就是 \((\sum\limits_{j = 1}^{i - 1} [p_j = i]) + p_i \le i\)。 考虑将其转化为棋盘问题。在 \(( 阅读全文
posted @ 2023-12-24 11:55 zltzlt 阅读(90) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 第二道问号题。 设 \(A \ge B\)。我们现在将点的坐标刻画到二维平面上。相当于找到一条 \((0, 0) \to (A, B)\) 的路径,要求不能跨过直线 \(y = x\)。有 \(3\) 种移动方式: 向右移动一格。 向上移动一格。 将当前点提到直线 阅读全文
posted @ 2023-12-15 08:32 zltzlt 阅读(33) 评论(0) 推荐(0)
摘要:LOJ 传送门 组合计数神题。下文的 \(m\) 指原题面中的 \(d\),\(k\) 指原题面中的 \(r\)。 考虑最后每个人得到的宝石数量的序列 \(s_1, s_2, \ldots, s_n\),考虑这种方案的出现次数。首先要在 \(m\) 次操作中分别选 \(s_i - 1\) 次给第 \ 阅读全文
posted @ 2023-12-05 08:48 zltzlt 阅读(67) 评论(0) 推荐(0)
摘要:洛谷传送门 CF 传送门 看到题目感觉很怪,没有什么很好的直接做的办法。于是考虑容斥,\(\min a_i \le x + k - 1\) 的方案数减去 \(\max a_i < x\) 的方案数即为答案。 前者的方案数是好算的。注意到只要确定了 \(\min a_i\) 和差分数组 \(a_i - 阅读全文
posted @ 2023-11-15 19:19 zltzlt 阅读(53) 评论(0) 推荐(0)
摘要:洛谷传送门 \(k\) 染色问题。给定 \(n\) 个点 \(m\) 条边无向图,求有多少种给每个点赋点权 \(a_u \in [1, k]\) 的方案,使得 \(\forall (u, v) \in E, a_u \ne a_v\)。 Subtask \(1\):\(n \le 15\)。 考虑因 阅读全文
posted @ 2023-11-14 15:25 zltzlt 阅读(139) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 下文令 \(n\) 为原题中的 \(K\),\(m\) 为原题中的 \(N\)。 首先概率转方案数,最后除 \(2^{nm}\) 即可。 考虑一个指数级暴力:枚举每个 bot 的终点 \(y_i\)(因为存在不能相交的限制,需要满足 \(y_1 < y_2 < \ 阅读全文
posted @ 2023-10-27 10:34 zltzlt 阅读(35) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 首先进行一个容斥,把连通块最大值 \(= K\) 变成 \(\le K\) 的方案数减去 \(\le K - 1\) 的方案数。 考虑 dp,设 \(f_{i, j}\) 表示当前用了 \(i\) 个点,\(j\) 条边。转移即枚举其中一个连通块的大小 \(k\) 阅读全文
posted @ 2023-10-16 13:57 zltzlt 阅读(29) 评论(0) 推荐(0)
摘要:洛谷传送门 AtCoder 传送门 首先考虑一个经典的套路:转 \(01\)。具体而言,我们考虑若值域是 \([0, 1]\) 怎么做。 发现可以很容易地判定一个 \(A\) 是否合法。设矩阵第 \(i\) 行的和为 \(r_i\),第 \(j\) 列的和为 \(c_j\),那么合法当且仅当 \(A 阅读全文
posted @ 2023-10-07 14:30 zltzlt 阅读(28) 评论(0) 推荐(0)