关闭
当前搜索:

[计数] 美团 CodeM 复赛 排列

#include #include #include using namespace std; typedef pair abcd; typedef long long ll;#define read(x) scanf("%d",&(x))const int P=1e9+7;inline ll Pow(ll a,int b){...
阅读(210) 评论(0)

[数位DP Lucas定理] 2017 计蒜之道 复赛 E. 商汤智能机器人

阿爷教导我 ∑∞i=0(Ai)∗(A+B−iA),A=x+y2,B=x−y2\sum _{i=0}^\infty \dbinom{A}{i}*\dbinom{A+B-i}{A},A={x+y\over 2},B={x-y\over2} 然后就是数位dp+lucas定理的套路了 注意有减法要处理退位 一开始写的时候考虑的有点问题 调了很久很久 这个可以从低到高 也可以从高到低 因为意识模糊就...
阅读(537) 评论(3)

[第二类斯特林数 组合计数] 省选模拟赛 2 B. 两弹一星 missile

题目大意 一张无向图的权值定义为 xkx^k,其中 xx 是图中结构为树的连通块个数。给定 nn, kk, 求出所有 nn 个点带标号的的简单无向图的权值和,对 998244353998244353 取模。 令 xix_i 表示树联通块 i 是否存在 , 图的权值为 (∑xi)m(\sum x_i)^m。对于某 kk 个联通块,如果同时出现,那么贡献为 S(m,k)∗k!S(m, k) * k!...
阅读(586) 评论(0)

[组合数学] BZOJ 2227 [Zjoi2011]看电影(movie)

答案是 (K+1)n−1∗(K+1−n)Kn(K+1)^{n-1}*(K+1-n) \over { K^n} 证明很妙啊 先加上一个位置并看成一个环,那么方案数就是(K+1)n(K+1)^n,并且可以保证一定合法,因为是环,又因为是环可以转有K+1K+1个方案重复了,所以实际上是(K+1)n−1(K+1)^{n-1}。 拆掉一个空座位回到原问题,因为是空位,所以一定没有人跨过去...
阅读(232) 评论(0)

[真正的单色三角形] BZOJ 3498 PA2009 Cakes

Description给定一个无自环重边的无向图,求这个图的三元环的个数以及补图的三元环个数。 n≤105,m≤105n ≤ 10^5,m ≤ 10^5PS. 可以在这里交Analysis这个东西 首先我们可以用BZOJ 2916 [Poi1997]Monochromatic Triangles的方法算出原图三角形和补图三角形的个数之和 然后我们再算出原图三角形的个数就好了 以下的代码都是求原图...
阅读(661) 评论(0)

[Bell数] HDU 4767 Bell & BZOJ 3501 PA2008 Cliquers Strike Back

ACdreamer大牛的详细介绍Bell数 大概是这样的 有递推公式 可以分治FFT求 生成函数很优美 可以用多项式科技求 是第二类斯特林数的和 可以用Bell三角形预处理 神奇的同余性质 可以计算对小质数取模的值 也可以CRT合并 这里的p是不大于100的素数 模素数p的周期 这里就是求bell模一个数的值 可以发现 95041567=31∗37∗41∗43∗4795041567 = 31*...
阅读(211) 评论(0)

[第一类斯特林数] HDU 3625 Examining the Rooms

nn个房间 每个房间的钥匙随机放在某个房间内 概率相同 有kk次炸门的机会 不能炸1号房间 求能进入所有房间的概率 钥匙与门的对应关系呈现出环。打开一个门之后,环内的所有房间都可以进入。 问题就转化成了nn个房间形成1~kk个环的概率。 题目还有一个特殊要求即,1号点不能单独成环。 所以答案就是 ∑ki=1s(n,i)−s(n−1,i−1)n!{ \sum_{i=1}^k s(n,i)-s...
阅读(137) 评论(0)

[置换 组合数学 基环内向树] AGC 008 E - Next or Nextnext

传送门这个 我也不知道怎么说啊 把 ii 向 a[i]a[i] 连边 因为点数等于边数 每个点入度至多为2 那么基环内向树和环组成的森林 由置换那一套理论可知 置换的开方 一些长度相同的环 可以合并 然后 枚举一下每种长度几对环合并 组合计数一下 剩下的不合并的环 如果是大于1的奇环 也是可以选择开方或不开方的 至于每棵基环内向树 可以看出不可以和其他树或环合并 且支链一定是一条直链 然...
阅读(278) 评论(0)

[置换开方] POJ 1721 CARDS

论文:潘震皓--置换群快速幂运算 研究与探讨 置换的开根 O(n2) #include #include #include using namespace std; const int N=1005; int n,s; struct Te{ int a[N]; Te(){ } Te(int t){ if (t==1) fo...
阅读(131) 评论(0)

[置换快速幂 中国剩余定理] POJ 1282 庆典的日期

论文:潘震皓--置换群快速幂运算 研究与探讨 置换的快速幂 题解 n2logn #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; typedef long long ll; inline char nc(){ static...
阅读(183) 评论(0)

[组合数] 51Nod 1161 Partial Sums & Codeforces 223C #138 (Div. 1) Partial Sums

自己手推就能发现是个斜着的杨辉三角 #include #include #include using namespace std; typedef long long ll; const int P=1000000007; const int N=5005; int n,K; ll a[N]; ll inv[N]; inline void Pre(){ inv[1]=1; ...
阅读(235) 评论(0)

[卡特兰数] 51Nod 1120 机器人走方格 V3

卡特兰数×2 卡特兰数 C(2n,n)-C(2n,n-1) #include #include #include using namespace std; const int P=10007; int fac[P+5],inv[P+5]; inline void Pre(){ fac[0]=1; for (int i=1;i<P;i++) fac[i]=fac[i-1]*...
阅读(356) 评论(0)

[Lucas定理 数位DP 容斥原理] 2015 计蒜之道 复赛 360的产品试用体验

直接上官网题解吧:http://blog.jisuanke.com/?p=146 题意即求 其中 且 因为 47 是质数,如果把 ai, li, ri, xi 写作 47 进制数 因为 47 是质数,根据 Lucas定理 ,题目转换为求 的值,同时满足: –  字典序不小于  不大于  – x1 + x2 + x3 ≤ n....
阅读(474) 评论(0)

[组合数 DP] HDU 4532 湫秋系列故事——安排座位

一种典型的组合数DP  f[i][j]表示前i种数值排列有j个不合法间隙的方案数 然后枚举第i个分成几块k 有l块塞入j个不合法空隙中进行转移 答案即为f[n][0] 不过还要乘以排列数 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; type...
阅读(400) 评论(0)

[组合] BZOJ 2916 [Poi1997]Monochromatic Triangles

转化为求 总三角形-同色三角形 不同色三角形 一定有且只有2个点的邻边颜色不同 #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2...
阅读(563) 评论(0)

[第二类斯特林数 组合 分治FFT||多项式求逆] BZOJ 4555 [Tjoi2016&Heoi2016]求和

自己好弱 多项式求逆不会啊 分治FFT也是第一次打 #include #include #include using namespace std; typedef long long ll; inline ll Pow(ll a,ll b,ll p){ ll ret=1; for (;b;(a*=a)%=p,b>>=1) if (b&1)...
阅读(555) 评论(0)

[第二类斯特林数 树形DP] HDU 4625 JZPTREE && BZOJ 2159 Crash 的文明世界

%%%jiry_2 也可以这样:http://blog.csdn.net/dwylkz/article/details/9749827 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc(){ s...
阅读(344) 评论(0)

[第一类斯特林数 组合] HDU 4372 Count the Buildings

一个圆排列对应把最大的放在最前 #include #include #include using namespace std; typedef long long ll; const ll P=(ll)1e9+7; const int N=2000; ll c[N+5][N+5],s[N+5][N+5]; ll x,y,n,ans; inline void Pre() { c[0...
阅读(178) 评论(0)

[组合计数] BZOJ 3505 [Cqoi2014]数三角形

减去共线的就好了 线上的整点用gcd #include #include using namespace std; typedef long long ll; ll Gcd(ll a,ll b){ if (a<b) return Gcd(b,a); return b?Gcd(b,a%b):a; } ll n,m; ll ans; int main() { freopen("...
阅读(282) 评论(0)

[Polya] POJ 2409 Let it Bead

水题... #include #include using namespace std; typedef long long ll; ll Gcd(ll a,ll b){ return b?Gcd(b,a%b):a; } inline ll Pow(ll a,ll b){ ll ret=1; for (;b;b>>=1,a*=a) if (b&1) ret*=a;...
阅读(171) 评论(0)
35条 共2页1 2 下一页 尾页
    个人资料
    • 访问:307111次
    • 积分:12382
    • 等级:
    • 排名:第1310名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:54条
    最新评论