组合数学
文章平均质量分 51
C202207xiaofang
保加利亚希望中学附属光明小学优秀毕业生
展开
-
To_Heart—题解——BZOJ 4671
表示至少有 i 个联通块的方案数。发现这种定义下并不关心枚举的联通状态内部是否真正的联通,因为划分节点后已经满足最少有 i 个了。所以内部的边的异或状态并不关心,只需要每两个联通块之间有边即可。然后把每个图的需要的边状压一下放入线性基中,假设基的个数为 k ,那么当前这种划分对于。,假设真正分出了 n 个联通块,而我们确规定把他们划分在了 i 个块中。为有 i 个联通块的方案数。但因为是异或所以并不好处理。虽然图很多,但是节点数只有 10。考虑枚举节点的联通状态,看哪些图是对其有影响。然后斯特林反演即可。原创 2023-05-09 17:52:18 · 533 阅读 · 0 评论 -
To_Heart—题解——SP18878
这道题要用 Lucas 定理 的思想 题解 首先题目分析的是 奇偶性 ,那么其实就是相当于求 ∑k=0n(ni) mod 2 \sum\limits_{k=0}^{n} \dbinom{n}{i} \bmod 2k=0∑n(in)mod2 考虑 (nm) mod 2\dbinom{n}{m} \bmod 2(mn)mod2在什么时候为 1 ,我们把 n 和 m 进制转换以后, 则问题就转换为判断 mi≤nim_i\leq n_imi≤ni 是否成立,如果成立,那么原式一定是 1 。 因为模数为 2原创 2021-12-14 21:07:33 · 775 阅读 · 0 评论 -
To_Heart—题解——[HAOI2010]计数
题目 Link 题解 首先我们发现题目要求的就是一个可重复的康拓展开,那么我们考虑它与原本的 不可重的康托展开 本质上就只是 由全排列转换为可重集排列。 但是这道题目不允许我们使用取模,所以说我们需要对可重集排列公式进行转换。 我们考虑可重排列的组合意义,转换为我们把每个元素从小到大排列,每一次往原序列插入最小的元素,然后再把剩下的元素插进那些没有插的空里就好了 #include<bits/stdc++.h> using namespace std; #define ll long long #原创 2021-11-27 17:08:58 · 136 阅读 · 0 评论 -
To_Heart—题解——BZOJ3260
题目链接 Link 题解 首先,因为距离需要最短,所以当现在的坐标为 (x,y) 时,下一次只有跳到 (x+1,y) 或者 (x,y+1) 两种选择。 然后因为 C(x,y)=C(x-1,y)+(x,y-1) ,所以这个 C 其实就是个斜着的杨辉三角,然后手玩一会儿就可以推出来了。这里留给读者自己思考。 手推出来的式子应该中应该包含∑k=0n(i+ni)=∑k=0n(i+nn)\sum\limits_{k=0}^{n}\dbinom{i+n}{i}=\sum\limits_{k=0}^{n}\dbinom{原创 2021-11-27 16:17:44 · 217 阅读 · 0 评论 -
To_Heart—题解——HDU3037
更好的阅读体验 题目 Saving Beans 题意 不超过 m 个球放入 n 个盒子方案数,盒子可以为空。 题解 然后我们发现它要求的是不超过 m 个球,并不是一个定值,不好算,所以我们考虑再给他一个盒子,在前面的盒子里面放 k 个,就在最后的盒子里面放 m-k 个,这样问题就转换成了: m 个球放入 n+1 个盒子方案数,盒子可以为空。 然后用隔板法求出方案书为(n+m+1−1m)=(n+mm)\dbinom{n+m+1-1}{m}=\dbinom{n+m}{m}(mn+m+1−1)=(mn+m)原创 2021-11-26 21:01:32 · 222 阅读 · 0 评论