09 2024 档案
摘要:思路 对于一个点双,我们可以发现: 假如它是一个简单环,那么它只能旋转这一个环,我们可以使用 polya 定理计算。 假如它是多个环的组成,那么它的颜色可以随意调动,任何的情况都可以得到,那么假如说有 条边,方案数则为 ,我们只考虑每一种颜色的
阅读全文
摘要:感觉像比较套路的构造题。 思路 假如我们正着进行构造,可以发现我们加入一个数以后,对后面的数产生的影响是很大的。 但是如果我们从最后一个数开始构造,那么可以发现它是不会对之后的构造产生任何影响的。 应为越前面的数的限制会越少,那么可以填的数一定是不减的。 一个数可以填在后面,那么也一定可以填在前面。
阅读全文
摘要:简单容斥题。 思路 题面的条件相当于一个位置上填的点不能是自己的祖先。 发现直接做并不好做。 考虑容斥。 我们想要求出 为至少有 个不合法位置的方案数。 那么答案为: 如何求解。 设 为 \(i
阅读全文
摘要:最小点覆盖模板题。 思路 考虑二分直径 。 我们将距离 的点对连一条边,那么每一条边的两端至少有一端需要被删掉。 这是最小点覆盖的定义。 那么就是判断最小点覆盖是否小于等于 。 发现这个问题并不好用一些多项式复杂度的做法解决。 考虑暴搜。 每一次我们把度数最大的点拿
阅读全文
摘要:感觉自己稍微有一点唐了。 思路 我们首先可以把一定要连的边连起来。 这样就变成了一个无向图生成树计数问题。 如何求解。 使用矩阵树定理! 我们可以求出基尔霍夫矩阵,然后跑一遍行列式就可以了。 时间复杂度: 。 Code #include <bits/stdc++.h> using
阅读全文
摘要:生成函数大法好。 思路 考虑 prufer 序列。 如果 个点的度数确定,那么生成树个数为: 那么在此题中, 个点的度数确定,那么方案数为: \[\frac{(n-2)!}{\prod (d_i-1)!}\pr
阅读全文
摘要:组合意义保平安。 思路 发现 的贡献不好统计。 我们可以考虑 的组合意义。 容易发现: 那么依照分配律,我们发现这个东西的组合意义是每个人从获得的饼干中选一个出来的方案。 这样就会变好
阅读全文
摘要:B 算法萌萌题。 题解 看到完全图求最小生成树,必然是要考虑一下 B 算法能不能做的。 发现这个题的联通块最小值是可以维护的。 我们发现。 假如我们钦定 往前面连。 那么前面的最小权值必然是一个固定的值。 我们一定会连到 上。 由于不能连
阅读全文
摘要:挺有意思的树型 dp。 思路 发现直接求解很难对限制下手。 但我们可以注意到答案最多为 。 考虑将答案记录 dp 状态。 我们可以记 为子树 合法并且断了 条边的状态。 由于合法状态有两种,并且不好一起考虑,所以可以再在 dp 状态中加一维
阅读全文
摘要:思路 容易发现,题目要求我们动态维护这样一个多项式。 如何维护。 由于精度问题,我们很难去进行一个多项式除法将其暴力求出。 考虑 。 可以得知,我们的多项式的数的增减是比较大的。 那么在一定数量后,一些可能有值的系数在当
阅读全文

一言
我从不猜测,那是破坏思维的坏习惯。
—— 福尔摩斯探案集