排列组合
文章平均质量分 54
CR1SceNT
这个作者很懒,什么都没留下…
展开
-
BZOJ1951: [Sdoi2010]古代猪文
BZOJ1951又是一个被卡了很久的题。。 差点就对指数取模了QAQQAQ,然后突然发现有问题。。就傻掉了这该怎么做。 ans=G∑d|nCdnmodPans=G^{\sum_{d|n}C_{n}^{d}} mod P 根据费马小定理(G,P)互质(G,P)互质,一个数GG的P−1P-1次方在模PP意义下为1. 那么ans=G∑d|nCdnmod (P−1)mod P那么ans=G^{\su原创 2017-06-01 08:51:06 · 786 阅读 · 0 评论 -
BZOJ 2142: 礼物
BZOJ2142令sk=∑ki=1wis_k=\sum_{i=1}^k w_i ans=∏i=1mCwin−si−1ans=\prod_{i=1}^m C_{n-s_{i-1}}^{w_i} 展开一下。ans=n!∏mi=1wi!∗(n−sm)!ans=\frac{n!}{\prod_{i=1}^mw_i!*(n-s_m)!} 因为pp不是质数,将pp分解质因数后,对于每一个因子分别处理然后C原创 2017-05-31 17:18:21 · 350 阅读 · 0 评论 -
BZOJ3129: [Sdoi2013]方程
BZOJ3129挺好的一道题呀。 其实pp只会有三个值10007,262203414,437367875 将三个值分解质因数最大的也只有1012101^2。数组可以开的下,不然就不可做了。 首先考虑没有限制。每一个任取,那就是隔板法 ans=Cn−1m−1ans=C_{m-1}^{n-1} 对于xi>=aix_i>=a_i的限制,可以看做,第ii个预先放好ai−1a_i-1个,将mm减去ai原创 2017-06-01 18:41:35 · 516 阅读 · 0 评论 -
BZOJ2982: combination
BZOJ2982LucasLucas定理模板题【代码】#include <cstdio> #include <iostream> #include <algorithm> #define N 10007 #define mod 10007 #define INF 0x7fffffff using namespace std; typedef long long ll;ll read() {原创 2017-06-01 19:10:41 · 349 阅读 · 0 评论 -
BZOJ3656: 异或
BZOJ3656据说这个题是Cmn mod PC_n^m\space mod \space P 就做了。。。 一个位置pp写成了pcpcwa了不知道多少遍。。【代码】#include <cstdio> #include <iostream> #include <algorithm> #define N 100005 #define INF 0x7fffffff using namespace st原创 2017-06-02 08:41:37 · 521 阅读 · 0 评论 -
BZOJ4517: [Sdoi2016]排列计数
BZOJ4517对于一组数据n,mn,m。ans=Cmn∗dp[n−m]ans=C_n^m*dp[n-m] dp[i]dp[i]表示ii的错排数。 那就是考虑如何求dpdp数组了。求dpndp_n: 1.将第nn个数放入前n−1n-1个任意一个中,有n−1n-1种,记放的位子为kk. 2.kk若放在位置nn,那就相当于剩下n−2n-2个错排,也就是dp[n−2]dp[n-2]种方案。kk若不原创 2017-06-12 17:03:00 · 445 阅读 · 0 评论