组合数学
文章平均质量分 64
qingdaobaibai
这个作者很懒,什么都没留下…
展开
-
【bzoj1004】[HNOI2008]Cards burnside引理+dp
首先,加入一个置换,每个数i对应自身计算方案数%Pans=∑D(i)/M (1D(i)表示在置换i下不变的染色数考虑如何求D(i)对于置换i,求出它的循环节,每个循环节必须染成同一个颜色,但是对总数有限制f[i][j][k]表示用i个红色,j个蓝色,k个绿色的方案数把每个循环节视为一个物品,权值为长度。f[i][j][k]=f[i-d[p]][j][k]+f[i][原创 2016-03-07 14:02:25 · 453 阅读 · 0 评论 -
【bzoj3782】上学路线 组合数学+Lucas定理+中国剩余定理
不考虑障碍从(0,0)走到(n,m)的方案数为C(n,n+m)先把障碍按照横坐标第一关键字,纵坐标第二关键字排序f[i]表示不经过前i-1个障碍经过第i个障碍的方案数f[i]=C(a[i].x,a[i].x+a[j].x)-∑f[j]*C(a[i].x-a[j].x,a[i].x-a[j].x+a[i].x-a[j].y) (a[j].x把(N,M)当成障碍加进去,最后输出原创 2016-03-02 13:09:10 · 1107 阅读 · 0 评论 -
【bzoj4013】[HNOI2015]实验比较 树形dp+组合数学
湖南人太厉害了!!!根本毫无思路呀!!!首先,题目中说了“对每张图片 i,小 D 都最多只记住了某一张质量不比 i 差的另一张图片 Ki。”所以,这是棵树,或者森林。如果有环,则无解,输出0。把相等的点用并查集合并在一起,看做一个点考虑dp,f[i][j]表示以i为根的子树合并成j段的方案数(相同的点合并起来)考虑将两棵独立的子树u和v合并起来有多少种方案g[i]+=f[u原创 2016-03-02 09:57:04 · 1194 阅读 · 0 评论 -
【bzoj3193】[JLOI2013]地形生成 dp+组合数学
好难呀!!!第一问:从大到小往里插不考虑相等的情况第i大的数有min(i,b[i]+1)个位置可以插考虑相等的情况把相等的提出来一起处理min(i,b[i]+1)+j-i第二问:把高度相同的放在一起考虑ans*=tmptmp表示这些高度相同的一共多少种放法可以使等高线不同现在问题是,把n个球放进m个箱子中,第i个球只能放进编号为[1,b[i]原创 2016-03-01 16:37:36 · 1178 阅读 · 0 评论 -
【bzoj2142】礼物 组合数学+中国剩余定理
手抖看了一眼boss题,就入坑了C(n,m)%P怎么求?P=p1^c1 * p2^c2 * p3^c3 * … *pt ^ ct,pi为质数Pi=pi^ci因为P太大了,而且不是素数,所以无从下手但是我们发现可以用中国剩余定理来解决,先算出模Pi的值,最后用中国剩余定理合并。因为Pi只包含一个质因子,所以问题简化了许多。C(n,m)=n!/m!(n-m)!有一种思路原创 2016-03-01 11:06:47 · 927 阅读 · 0 评论 -
【bzoj1856】[Scoi2010]字符串 组合数学
补集转化?总数-不满足条件的字符串的数量然后就不会做了。。。http://www.cnblogs.com/jianglangcaijin/p/3443689.html思路真是太神了,实在想不到。#include#include#include#include#include#include#define maxn 2000100#define mo原创 2016-03-01 07:53:16 · 546 阅读 · 0 评论 -
【bzoj2393】 Cirno的完美算数教室 容斥原理
这道题其实跟幸运数字一模一样,再写一遍,但是还是不知道为什么时间复杂度是有保证的?!!#include#include#include#include#include#includeusing namespace std;long long l,r;long long a[20010];bool tag[20010];long long ans;int tot原创 2015-08-07 15:33:18 · 618 阅读 · 0 评论 -
【bzoj1042】 HAOI2008硬币购物 容斥原理+背包dp
暴力就是裸的多重背包,但是肯定过不去,我们考虑转化,问题等价于求c1x1+c2x2+c3x3+c4x4=s (x1那么设集合S1={x1ans=S1∩S2∩S3∩S4=f[s]-{x1>d1}∪{x2>d2}∪{x3>d3}∪{x4>d4}=f[s]-f[s-c1(d1+1)]-f[s-c2(d2+1)]-f[s-c3(d3+1)]-f[s-c4(d4+1)]+f[s-c1(d原创 2015-08-07 11:06:11 · 570 阅读 · 0 评论 -
【bzoj1853】 SCOI2010幸运数字 容斥原理
跪烂晨神,一上来先想数位dp,结果根本没法做,然后看了看晨神的题解,发现幸运数字一共就2000来个,然后加一些剪枝,用容斥原理筛一下就好了,其实容斥就是选了奇数个就加,选了偶数个就减,要从大到小搜,这样容易爆,然后一定要判断如果爆了longlong,或者大于r的时候就退出,如果一个数是另一个数的倍数,那么就不用考虑这个数了。#include#include#include#inc原创 2015-08-04 11:40:39 · 895 阅读 · 0 评论