- 博客(23)
- 收藏
- 关注
原创 组合数学-容斥原理
hdu GCD题意:求gcd(x,y)==k个数,其中x属于[1,b],y属于[1,d],其中x=5,y=7与x=7,y=5,是一样的。思路:求x在[1,b],y在[1,d],gcd(x,y)=k的个数 就是求x在[1,b/k],y在[1,d/k],gcd(x,y)==1的个数不妨设b当i在[b/k+1,d/k]内求区间[1,b/k]内与其互素的数的个数,先
2018-01-31 17:48:01 375
原创 组合数学-容斥原理-求指定区间内与n互素的数的个数
求指定区间内与n互素的数的个数给出整数n和r。求区间[1,r]中与n互素的数的个数。去解决它的逆问题,求不与n互素的数的个数。考虑n的所有素因子pi(i=1···k)在[1,r]中有多少数能被pi整除呢?它就是 然而,如果我们单纯将所有结果,会得到错误答案。有些数可能被统计了多次(被好几素因子整除,如6,在计算2时,3时就重复了)所以我们要用容斥原理来解决。我们可以用
2018-01-31 16:56:50 1560
原创 高斯消元解异或方程组-开关问题
poj 1222 EXTENDED LIGHTS OUT#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int maxn=40;const int inf=0x3f3f3f3f;int a[ma
2018-01-30 22:07:31 280
转载 莫比乌斯反演优化
#include#include#include#include#includeusing namespace std;const int maxn=100010;int vis[maxn];int prime[maxn];int cnt;int mu[maxn];int sum[maxn];void init(){ memset(vis,0,sizeof(
2018-01-30 19:10:33 170
原创 1.30
hdu 1521 排列组合标准指数型母函数#include#includedouble a[15];void shezhi(){ int i; a[0]=a[1]=1; for(i=2;i<=10;i++) a[i]=a[i-1]*i;}int main(){ int i,j,k,n,m,num[15]; double
2018-01-30 17:47:24 167
原创 1.29
poj 1681题意:涂刷(i,j)时其上下左右都会跟着改变,你的任务是找到bob最少需要涂刷几次把所有的方格涂成黄色和poj1222开关问题一样,最后涂成黄色相当于灯全灭了无解输出inf由于求最小步数,当我们存在自由变元时,我们可以得到解,但是不知道需要的最小步数,所以我们枚举所有的变元。#include#include#include#include#inclu
2018-01-29 19:00:27 142
原创 1.29
高斯消元法求解异或线性方程组方程数和变量数均为行数*列数poj 1222 EXTENDED LIGHTS OUT题意:给出一个5*6的矩阵,每个位置表示灯,1表示灯亮,0表示灯不亮,然后如果选择位置(i,j)点击,则该位置及其上下左右的灯的状态都会变成与原来相反的状态,现在要你输出一个5*6的矩阵,1表示这个位置上的灯被点击过,0表示没有被点击过,要求使得原矩阵的灯都熄
2018-01-29 10:13:26 215
原创 1.28
至于今天的比赛,一共出了四个,一上来就去看A题,没读太懂,感觉是这个题意然后做了一个小时一直错,然后有点炸就去水了两个简单题,后来发公告说A题错了。。。。,做完两个水题,又去做的改完之后的A,
2018-01-28 22:17:45 193
原创 1.26
高斯消元法求解异或线性方程组方程数和变量数均为行数*列数poj 1222 EXTENDED LIGHTS OUT题意:给出一个5*6的矩阵,每个位置表示灯,1表示灯亮,0表示灯不亮,然后如果选择位置(i,j)点击,则该位置及其上下左右的灯的状态都会变成与原来相反的状态,现在要你输出一个5*6的矩阵,1表示这个位置上的灯被点击过,0表示没有被点击过,要求使得原矩阵的灯都熄灭。
2018-01-26 21:35:45 183
原创 1.25
置换群Polya定理:关键就是找循环节数 第一种题目类型就是:有一个长度为n的手链,m个颜色的珠子,每种珠子的个数都是无限个,现在问你能做成几个本质不同的手链. 旋转:有gcd(n,i)个循环节,1= 翻转:n为奇数时有n/2+1个
2018-01-25 21:54:06 227
原创 1.24
莫比乌斯反演:看不懂挺难得,看懂了就还好,不敢说什么都会,但是博客上的基础题gcd这种类型的会了;莫比乌斯反演:就是已知和函数求分函数,表达可能不恰当,但就是这个意思;莫比乌斯函数u(d): 性质一:d=1时,u(1)=1; 性质二:d=p1p2···pk,Pi均为素数时,u(d)=(-1)
2018-01-24 22:12:45 131
原创 1.24
母函数有限制条件hdu 1171 big event in hdu用昨天选课管理的方法写的#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;int main(){ int n,num[55],v,m,i,j,k,s
2018-01-24 15:03:50 161
原创 1.23
今天把所有书上的课件上的组合数学的知识看完了,开始看博客,今天把母函数看的差不多了,挺充实的一天#include#include#define max 100+30int main(){ int c1[max],c2[max]; int n,i,j,k; while(scanf("%d",&n)!=EOF) { for(i=0;i<=n;
2018-01-23 22:01:55 167
原创 1.22
今天上午又做了昨天比赛没做的题,然后看组合数学,晚上看了个算法直播又在买的书上看了一便群伦,组合数学64页-116页速度还可以burnside引理:用来求本质不同的方案数和Polya定理Polya定理:设G是p个对象的置换群,用m中颜色凃染p个对象,则不同染色方案数为L=(m^c(g1)+···+m^c(g2))/|G|;计算大规模的C(n,m)可以用杨辉三角C(n,m)=C(n-
2018-01-22 21:56:42 302
原创 1.21
今天的比赛我就做出来两个,菜的抠脚,不过吃完饭回来就把原来看了一个多小时的题做了,就立马有思路了,比赛就没想到,扎心了,还有一个b题错了好几发,最后让屎队长找的错,就是用到了a[n+1],但我没给赋值,奈何这个系统不提示数组越界,只提示答案错误,通过率0.00%,扎铁了,(PS:自己还是挺6的)昨天打了codeforce,就做出来一个,本来是40分钟内出了两个,有大佬没事做给代码找错,B提
2018-01-21 21:13:42 135
转载 bitset
点击打开链接点击打开链接还看了莫比乌斯反演和lucas定理,今天看的博客;昨天打的比赛,敲了500行的代码愣是没过,扎铁了,还是个简单题,赛后讨论,发现想法一样,只是你把同一句话,翻译成不同的意思代码可能就很简单
2018-01-20 22:16:13 90
原创 1.19
今天把老师发的组合数学的课件又看了一遍,初等数论到了第三章,一一对应:在组合计数时往往借助于一一对应实现模型转换;设图凸n边形的任意三条对角线不共点,求对角线在多边形内交点个数C(n,4);无重排列:从n个不同的元素中,取出r个不同的元素,按次序排列P(n,r);无重组合:从n个不同的元素中,取出r个不同的元素,C(n,r)=(n
2018-01-19 22:11:36 295
原创 1.11
codeforce hello world A判断2的几次方比m大即可,直接算pow(2,n)数很大;B. Christmas Spruce用一个数组存每个节点有几个孩子,在开一个数组存每个节点的父节点,然后查询;C. Party Lemonade大神的思路很巧妙,输入都是2的次方,所以初始化的时候c[i]表示买i升花的最少的钱,然后求恰好买l升所化的钱,然后是多买花的钱取小的
2018-01-11 21:57:21 114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人