上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: 我们知道,FFT 和 NTT 可以用来解决下面这种问题: \[c_k=\sum_{i+j=k}a_ib_j \]不过,这并不是卷积的全部形态,比如下面这种: \[c_k=\sum_{i*j=k}a_ib_j \]其中 \(*\) 代表一种位运算。 面对这种位运算类型的卷积,我们也有别样的方法,那就是 阅读全文
posted @ 2025-01-24 11:39 长安一片月_22 阅读(47) 评论(0) 推荐(1)
摘要: 在这篇题解中,我会将各个部分的证明分成不同的推导过程,以达到逐一击破的效果。 引理 1:\(f(n)=2f(n-1)+f(n-2)\) 我的证明挺繁琐的,过程如下: \[(1+\sqrt 2)^{n-2}=e(n-2)+f(n-2)\sqrt 2 \]\[(1+\sqrt 2)^{n-1}=e(n- 阅读全文
posted @ 2025-01-23 20:02 长安一片月_22 阅读(24) 评论(0) 推荐(0)
摘要: 我能说什么!抽象了这! 看到 \(n\le 10\) 的黑题顿感大事不妙。 我们考虑设 \(f(i)\) 表示将 \(n\) 个点划分为至少 \(i\) 个连通块时的方案数。我们可以暴力枚举每个点在哪个连通块里。划分方案是 \(Bell(n)\le 21147\) 的。 显然的,相同块内暂时忽略,不 阅读全文
posted @ 2025-01-23 12:02 长安一片月_22 阅读(10) 评论(0) 推荐(0)
摘要: 发现难以维护差值,于是令 \(K=\frac{n+k}2\),这样就把问题转化为了“糖果”比“药片”大的组数为 \(K\) 的情况有多少种。 设 \(dp_{i,j}\) 表示我们用前 \(i\) 个“糖果”和“药片”配对,至少有 \(j\) 组“糖果”比“药片”大,有多少种情况;\(c_i\) 表 阅读全文
posted @ 2025-01-23 11:12 长安一片月_22 阅读(9) 评论(0) 推荐(0)
摘要: 我们先假设同种糖间存在差异。 设 \(f_{i,j}\) 表示前 \(i\) 种糖至少有 \(j\) 人拿到的糖和原来一样,\(c_i\) 表示拿第 \(i\) 种糖的人的个数,则有: \[f_{i,j}=\sum_{k=0}^{\min(j,c_i)}f_{i-1,j-k}\binom{c_i}k 阅读全文
posted @ 2025-01-23 10:36 长安一片月_22 阅读(8) 评论(0) 推荐(0)
摘要: 显然有一个 \(dp\) 思路。设 \(f_{i,j}\) 表示现在修了 \(i\) 栋楼,从第一栋楼外侧能看到 \(j\) 栋楼的方案数,显然有: \[f_{i,j}=\begin{cases}[i=0](j=0)\\f_{i-1,j-1}+(i-1)f_{i-1,j}(j\ne 0)\end{c 阅读全文
posted @ 2025-01-23 09:42 长安一片月_22 阅读(6) 评论(0) 推荐(0)
摘要: 考虑计算一个点的贡献,最后 \(\times n\) 即为所求。 显然一个点的贡献为 \(\sum\limits_{i=0}^{n-1}\binom{n-1}ii^k2^{\frac{(n-1)(n-2)}2}\),则有: \[\sum_{i=0}^{n-1}\binom{n-1}ii^k2^{\f 阅读全文
posted @ 2025-01-23 09:29 长安一片月_22 阅读(6) 评论(0) 推荐(0)
摘要: 为什么又是佳媛姐姐啊啊啊! 斯特林数在这道题中不好处理,直接拆开: \[f(n)=\sum_{i=0}^n\sum_{j=0}^i\begin{Bmatrix}i\\j\end{Bmatrix}2^jj! \]\[=\sum_{j=0}^n2^jj!\sum_{i=0}^n\sum_{k=0}^j\ 阅读全文
posted @ 2025-01-23 09:17 长安一片月_22 阅读(6) 评论(0) 推荐(0)
摘要: 老师发福利,放了两道一毛一样的题。 考虑无视战术,直接化简: \[\sum_{v=1}^ndis(u,v)^k=\sum_{v=1}^n\sum_{i=0}^k\begin{Bmatrix}k\\i\end{Bmatrix}dis(u,v)^{\underline i} \]\[=\sum_{i=0 阅读全文
posted @ 2025-01-23 09:03 长安一片月_22 阅读(5) 评论(0) 推荐(0)
摘要: 后面有一只大大的组合数,考虑下降幂干过去。\(x^k\) 并不好使,这边考虑转化 \(f(x)=\sum a_ix^i=\sum b_ix^{\underline i}\)。 \[\sum_{k=0}^nf(k)x^k\binom nk=\sum_{k=0}^nx^k\sum_{i=0}^mb_ik 阅读全文
posted @ 2025-01-23 08:43 长安一片月_22 阅读(12) 评论(0) 推荐(0)
摘要: 下降幂 注:这里其实还有上升幂。 定义 下降幂:\(x^{\underline{k}}=\prod\limits_{i=x-k+1}^xi=\frac{x!}{(x-k)!}\) 上升幂:\(x^{\overline{k}}=\prod\limits_{i=x}^{x+k-1}i=\frac{(x+ 阅读全文
posted @ 2025-01-22 11:01 长安一片月_22 阅读(37) 评论(0) 推荐(0)
摘要: 第一眼肯定想到容斥。设 \(G(k)\) 表示至少有 \(k\) 种颜色符合要求,\(F(k)\) 表示恰好有 \(k\) 种颜色符合要求。显然 \(k\) 的上界 \(t=\min(m,\lfloor\frac ns\rfloor)\),那么就有: \[G(k)=C_{m}^{k}(k!\prod 阅读全文
posted @ 2025-01-21 10:51 长安一片月_22 阅读(4) 评论(0) 推荐(0)
摘要: 乘法并不容易用 FFT 或 NTT 维护,考虑在模意义下化乘为加。 化乘为加主要有两种方法:\(\log\) 和 \(\gamma\)(指标),由于在取模意义下,所以使用后者。 那剩下的部分就是快速幂,用 NTT 加速即可。时间复杂度 \(O(m\log m\log n)\)。 #include<b 阅读全文
posted @ 2025-01-21 09:04 长安一片月_22 阅读(5) 评论(0) 推荐(0)
摘要: 首先正难则反,想到答案即为满足第一条要求的回文子序列数量,减去回文子串数量。回文子串数量 \(hash+\) 二分即可,考虑前半部分。 假如我们将一个回文子序列一层层剥开,就会发现它其实是由多个相同的字母对拼成的。那么容易想到把字母 \(a\) 和字母 \(b\) 的贡献分开计算。那第一条要求就可以 阅读全文
posted @ 2025-01-20 08:49 长安一片月_22 阅读(7) 评论(0) 推荐(0)
摘要: 《关于贫穷的樵夫拥有 40000 把斧头这件事》。 相当于是多项式乘法,但是得带容斥,具体自己看代码吧。 #include<bits/stdc++.h> using namespace std; const int N=3e5+5; const long double pi=acos(-1); na 阅读全文
posted @ 2025-01-19 10:34 长安一片月_22 阅读(4) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页