组合数学
EMber _
人但有追求,世界亦会让路。
展开
-
[CQOI2014】数三角形
题意略。题解:直接算总方案然后减去横的和竖的,最后用gcd减去斜的。。#include<cstdio>#include<cstring>#include<algorithm>#define fo(i,a,b) for(int i=a;i<=b;i++)using namespace std;int n,m;typedef long long ll;ll c[2000*2000][4];原创 2017-03-04 20:03:46 · 255 阅读 · 0 评论 -
bzoj1227[SDOI2009]虔诚的墓主人
神TM啊,祝卡bzoj的人全家原地爆炸螺旋升天。 。。 分析:用树状数组维护一下上下的组合数,离散坐标,然后直接算就好了。。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#define T 101#define fo(i,a,b) for(int i=a;i<=b;i++)#define f原创 2017-04-10 11:12:50 · 282 阅读 · 0 评论 -
JZOJ5384. 【NOIP2017提高A组模拟9.23】四维世界 组合数学
题意:求从(0,0,0)到(n,n,n)的方案数,有m个障碍点。n<=1e5,m<=5e3. 强烈谴责出题人,tmd能不能更不负责一点,这题面明显就tmd是neerc的题目直接google翻译过来,居然还有不通的句子。 知道了题意这就是个水题。 由于n<=1e5,我们并不可以直接dp,所以转换思路。 像这种方格走的玩意儿,一般来说,如果不是dp,基本上就是排列组合没得跑。 明显正难则反,既原创 2017-09-23 16:33:25 · 314 阅读 · 0 评论 -
JZOJ5351. 【NOIP2017提高A组模拟9.7】简单无向图 DP+组合数学
题意:给出n个点和每个点的度数,问能有多少种组合方式形成一个简单无向图(多个联通块允许)。n<=2e3.这题充分暴露出我的组合数学有多差。。 首先你需要手玩一段时间发现构造的图要不然是链要不然是环。 然后我们就可以按照情况DP了。 首先对于所有di=1的点,我肯定只能连成一条链。 那很好办了,设f[i][j]f[i][j]表示有i个度数为2的点,j个用来构造环,i-j个用来构造链的情况。原创 2017-09-08 22:51:34 · 617 阅读 · 0 评论 -
bzoj2839集合计数 容斥原理
题意:一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007。明显容斥啦。 应该是选择k个-选择k+1个+选择k+2….. 那么我们设f[i]表示已经选择k个作为交集,剩下n-k个如何选择的方案。 那么明显有f[i]=2^{2^(n-i)}-1,由于已经选择了k个,剩下n原创 2017-10-01 09:22:27 · 343 阅读 · 0 评论 -
JZOJ5418. 【NOIP2017提高A组集训10.24】 树形DP+组合数
题意:给出n个数,有一些特定要求,形如x,y表示x一定要在y的左边,求排列方案数。一早上死想序列做法,想到了一下连边然后否决了。。然后想出了50分的容斥或者状压,然后觉得100分是不是再优化一下啥的,然后就再没脱出坑。。 事实证明部分分做法不一定是正解做法的暴力版本。。 首先有一个条件就是每一个人最多提出一个要求。 那么连边后的dag是一个森林,不相交的n棵树。 那么对于每一棵树,我们从下往原创 2017-10-24 17:05:12 · 327 阅读 · 0 评论