组合数学
ws_yzy
一如OI情似海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
4421: [Cerc2015] Digit Division|组合数学
找出所有modm=0mod\quad m=0的区间的个数,再每两个区间之间都可以分开这个串 假设区间数为nn最后答案就是Cn−10+Cn−11+...Cn−1n−1=2n−1C_{0}^{n-1}+C_{1}^{n-1}+...C_{n-1}^{n-1}=2^{n-1}最后特判一下有没有解 #include<bits/stdc++.h> #define p 1000000007 using nam原创 2016-03-09 10:27:13 · 628 阅读 · 0 评论 -
BZOJ 4402: Claris的剑|组合数学
由于存在集合等价的情况,我们就只考虑字典学最小的方案 假设最大值是maxmax,那么构造出的序列有两种情况 1,2,1,2,1,2....3,2,3,2,3....max−2,max−1,max−2,max−1....max1,2,1,2,1,2....3,2,3,2,3....max-2,max-1,max-2,max-1....max 1,2,1,2,1,2....3,2,3,2,3...原创 2016-02-27 08:16:47 · 1012 阅读 · 0 评论 -
BZOJ 3505: [Cqoi2014]数三角形|组合数学
这题暴力只能呵呵呵.. 先算出所有的任取三点的方案数然后减去在同一直线的情况 枚举所用长度为ii宽度为jj的矩形,考虑用矩形的两个相对的顶点做三角形的两个顶点,然后计算出在矩形内部的的和这两个点共线的点的个数 这个个数其实就是gcd(i,j)−1gcd(i,j)-1然后如果矩形的长度和宽度都不是00的话有两对相对的顶点需要再乘以22#include<bits/stdc++.h> #define原创 2016-02-27 09:39:42 · 481 阅读 · 0 评论 -
BZOJ 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛|动态规划|排列组合
DP就是一个傻逼题..f[i]f[i]表示有ii头牛的方案数 然后这道题是我从黄学长的排列组合的分类里找的..数学太渣.. 排列组合的做法,枚举牡牛的数量假设有ii头,每两头牛之间至少有kk头另一种牛将其隔开,就提前抽出这些用来隔开的牛然后组合计数#include<bits/stdc++.h> using namespace std; const int R=5000011; int f[100原创 2016-02-27 18:51:53 · 1130 阅读 · 3 评论 -
BZOJ 2467: [中山市选2010]生成树|组合数学
有一个五边形切去两条边,其中一条必须是中间n边圈上的边,其他的五边形都任意切去一条边。(建议动手画一画) 答案就是 4∗n∗5n−14*n*5^{n-1}#include<bits/stdc++.h> using namespace std; const int R=2007; int T; int cal(int x) { int ans=4*x%R; for(int n=x-1原创 2016-02-28 08:05:07 · 616 阅读 · 0 评论 -
BZOJ 2111: [ZJOI2010]Perm 排列计数|组合数学|Lucas定理|DP
题目也就是让求1..n1..n的小根堆的数目 F[i]F[i]表示以标号为i的点做堆顶的合法堆的数目 f[i]=C(size[i]−1,size[i<<1])∗f[i<<1]∗f[i<<1|1]f[i]=C(size[i]-1,size[i<<1])*f[i<<1]*f[i<<1|1] 组合数要用Lucas定理求!#include<bits/stdc++.h> using namespace原创 2016-02-28 10:18:06 · 605 阅读 · 0 评论 -
BZOJ 2729: [HNOI2012]排队|排列组合
这显然是一道排列组合的纯数学题(偏题) 考虑将男生和老师先排出来,然后再插入女生 因为两个老师不能靠在一起,可以先计算排完男生和老师后两个老师在一起的方案数为,把两个老师绑在一起看成一个男生A(n+1,n+1)∗A(2,2)A(n+1,n+1)*A(2,2) 这样两个老师之间必须插入一个女生,然后剩下的m−1m-1个女生就任意插入男生之间,这样总的方案数为m∗A(n+1,n+1)∗A(2,2)原创 2016-02-29 08:20:06 · 751 阅读 · 0 评论
分享