摘要: 要不然打不开 阅读全文
posted @ 2026-01-18 17:15 SigmaToT 阅读(11) 评论(0) 推荐(0)
摘要: Cayley公式: 求有多少个 \(n\) 个点的带标号的树? 因为树与Prufer序列一一对应,所以求有多少个 \(n\) 个点的带标号树就是求有多少个 \(n-2\) 个元素的Prufer序列。 显然为 \(n^{n - 2}\),因为每一个位置都可以放入一个 \(1\sim n\) 的数。 推 阅读全文
posted @ 2026-06-02 22:14 SigmaToT 阅读(8) 评论(0) 推荐(0)
摘要: 多元组合数:从 \(n\) 个不同的球中选出 \(a_1\) 个作为第 \(1\) 组,选出 \(a_2\) 个作为第 \(2\) 组,\(\cdots\),选出 \(a_k\) 个作为第 \(k\) 组,其中 \(\sum a_i = n\),求方案数。 为 \[\binom{n}{a_1,a_2 阅读全文
posted @ 2026-06-02 13:25 SigmaToT 阅读(6) 评论(0) 推荐(0)
摘要: Prufer序列是一种将带标号的 \(n\) 个节点树用一个唯一的长度为 \(n - 2\) 整数序列表示的方法。 每次选取编号最小的叶子,把他的baba加到Prufer序列里,然后把这个点删了。 (你可能问说有没有别的构造方式,但这是大家公认的构造方式,一般都这么构造) 这里就有一种用堆构造Pru 阅读全文
posted @ 2026-06-02 13:00 SigmaToT 阅读(4) 评论(0) 推荐(0)
摘要: 今日题单:https://www.luogu.com.cn/training/1007997 注意,数字都是正的。 点击查看代码 #include <iostream> using std::cin; using std::cout; const int N = 1e5 + 10; typedef 阅读全文
posted @ 2026-05-05 10:38 SigmaToT 阅读(6) 评论(0) 推荐(0)
摘要: 今日题单:https://www.luogu.com.cn/training/1007669 贝叶斯公式: \[\begin{align*} P(AB) =& P(A)P(B|A)\\ \therefore P(B)P(A|B) =& P(A)P(B|A) \\ \therefore P(A|B) 阅读全文
posted @ 2026-05-04 16:34 SigmaToT 阅读(7) 评论(0) 推荐(0)
摘要: 穹妹!!! 先考虑暴力。 \(f_i\) 表示选 \(i\) 这个位置且覆盖了 \(i\) 及 \(i\) 前的位置的最小代价,易得 \[f_i = \min(f_{i - 1}, f_{i - 2}) + a_i \]这个东西我们可以用类似矩阵乘法的 最短路矩阵乘法 来解决。 定义为若 \(C = 阅读全文
posted @ 2026-05-03 15:04 SigmaToT 阅读(11) 评论(0) 推荐(0)
摘要: 今日题单:https://www.luogu.com.cn/training/1007173 预处理每个点到根节点的 xor 值之后就变成了一个路径上任意两点 xor 的和,这个我们可以通过维护某一位是 \(1\) 的个数,然后分别统计贡献来做到。至于修改操作,就等价于一个子树某一位翻转修改。具体用 阅读全文
posted @ 2026-05-03 09:12 SigmaToT 阅读(10) 评论(0) 推荐(0)
摘要: 今日题单:https://www.luogu.com.cn/training/1007161 树状数组区间加区间和。 先把原序列差分以进行区间加。 区间和: \[\sum_{i = 1}^{x}\sum_{j = 1}^ic_j = \sum_{i = 1}^{x}(c_i\cdot(x - i + 阅读全文
posted @ 2026-05-02 09:17 SigmaToT 阅读(12) 评论(0) 推荐(1)
摘要: 欧拉定理 设 \(a, n\in \mathbb{N}^*,a\perp n\)(\(a\) 与 \(n\) 互质),则 \(a^{\varphi(n)}\equiv 1(\operatorname{mod}n)\)。 证明: 取 \(1\sim n\) 中与 \(n\) 互质的 \(\varphi 阅读全文
posted @ 2026-03-28 19:57 SigmaToT 阅读(12) 评论(0) 推荐(0)
摘要: 线性筛是一种 \(O(n)\) 筛出 \(1\sim n\) 中的质数的算法。 for (int i = 2; i <= x; ++i) { if (is_prime[i] == 0) prime[++prime_cnt] = i; for (int j = 1; j <= prime_cnt && 阅读全文
posted @ 2026-03-19 12:51 SigmaToT 阅读(11) 评论(0) 推荐(0)