
数论
文章平均质量分 72
meixiuxiudd
卖萌木有用
展开
-
cf 数制转换 C. Vanya and Scales
题目链接http://codeforces.com/problemset/problem/552/C题意:利用已知的w0, w1, w2, ..., w100这101个砝码,用天平算出m的质量思路:根据给的砝码,我们可以想到利用w进制来表示这些砝码,那么每个砝码的大小就是1,10,100.......然后要计算出m的质量,我们将m也表示为w进制的数然后对于每位数原创 2015-07-11 02:31:57 · 493 阅读 · 0 评论 -
codeforces Devu and Flowers 母函数 容斥 dp
一种做法没见过一种做法脑洞太大,没想到做法1:容斥+费马小定理+lucas+壮压dp前面都是套路,难的是壮压dp的状态这道题倒着想将个数为s的相同的球放入n个盒子中有多少中放法(盒子不同,盒子里面可以为空如果我们不考虑盒子球的个数限制 那么答案就是c(s+n-1,n-1)(解释一下如果盒子可以为空的时候,我们假设当前盒子每个里面有一个,最后我们每个盒子减去一个就行了原创 2016-06-16 23:21:09 · 542 阅读 · 0 评论 -
数学题 糖果传递 bzoj
推公式对于每一个小孩,得到或者是拿出只可能是来自相邻小孩所以对于每一个小孩的贡献度我们可以算出来xi: 第i个小孩给 xi 个糖果给 i-1位小孩ave : 平均值推倒过程如下:ans = |x1|+...+|xn|;a1 - x1 + x2 = ave;令 c1 = a1 - ave;=> x2 = x1 - c1;同理a2 - x2 + x3 =原创 2016-05-04 11:07:29 · 420 阅读 · 0 评论 -
数论+差分 hdu1121 Complete the Sequence
数学真的是神奇啊第一次见差分这个东西对于数列a1 , a2 , a3 , a4 a2-a1,a3-a2,a4-a3 为一阶差分(b1,b2,b3)b2-b1,b3-b2 为二阶差分然后对于题目中的这种多项式 P(n) = aD.n^D+aD-1.n^D-1+...+a1.n+a0 p 的D-1阶差分就绝对可以得到一个常数(这个可以证明)现在我们在D-1阶差分的结果后面加原创 2016-03-03 00:35:08 · 573 阅读 · 0 评论 -
codeforces Simple Skewness
思路:看到0 ≤ xi ≤ 1 000 000的数据范围想到可不可以枚举中位数k的个数为奇数的时候好弄k的个数为偶数的时候就不行了证明发现k的个数只能为奇数(开始想的时候去证没有正对==证明如下:ave:为奇数时的平均数,a1:为奇数时的中位数,n为个数增加的数为a2(假设a2>a1,a2平均数的增加为:(ave*n+a2)/(n+1)-ave ->(a2-ave)/(原创 2016-02-19 19:25:04 · 372 阅读 · 0 评论 -
数论+dfs+复数除法剪枝 Secret Code hdu1111
X = a0 + a1B + a2B2 + ...+ anBn. (其实是B^2。。。。这个坑人)满足复数除法的剪枝真的是强大啊枚举每一个ai, 然后 除复数B, 这里剪枝,判断是否可以整除,复数的除法公式自己推/*ID: meixiny1PROG: testLANG: C++11*/#include #include #include #include原创 2016-03-03 00:10:42 · 532 阅读 · 0 评论 -
数论 + bfs Remider hdu1104
给定 n,m,k(定义的%:a = b * q + r (q > 0 and 0 n可以+,-,*,% m, 求最少多少步骤可以使得 n%k = (初始的n+1)%k思路:bfs,最后的结果都要%k,避免数过大我们中途每次求得的值都要取%但是中途也可能%m,所有我们可以先%(k*m) ,易证 a%m = a%(m*k)%mk*m的范围也在1000000内这样是可行的原创 2016-03-03 00:05:27 · 477 阅读 · 0 评论 -
codeforces Moodular Arithmetic 数论
由于gcd(k,p)==1,那么很显然k*x%p = z,这个等式中,x属于(0,p-1),z属于(0,p-1),那么的话,一定是一一对应的下面给出证明(自己yy的,有错误谢谢指出)令y = f(kx mod p), x = f(x);证明当y值确定时,x有唯一值与其对应y = k*x mod p;若x不唯一,即x1,x2,有存在n1,n2整数使得k*x1 - y = n1原创 2015-12-02 16:34:16 · 395 阅读 · 0 评论 -
中国剩余定理+扩展欧几里得求逆元 hdu 1006
中国剩余定理扩展欧几里得求逆元:int exgcd(int a,int b,int &x,int &y){ if(b==0){ x = 1; y = 0; return a; } int r = exgcd(b,a%b,x,y); int tmp = x; x = y; y = tmp - a/b*y; return x;}求得的逆元可能为负数记得取模原创 2015-11-29 23:10:07 · 1075 阅读 · 0 评论 -
数论 毕达哥斯拉三元组 + 欧拉函数 + 容斥原理 hdu3939
涉及的知识点还是挺多的毕达哥斯拉三元组:三元组(a,b,c),其中a,b,c无公因数,且满足a² +b² =c²。a为奇数,b为偶数,c为奇数可以得到如下勾股数组定理:a = 2m*n;b = m^2 - n^2;c = m^2 + n^2;其中m,n奇偶性不同原创 2015-11-27 19:52:36 · 1564 阅读 · 0 评论 -
容斥原理 数论
两个集合的容斥关系公式:A∪B =|A∪B| = |A|+|B| - |A∩B |(∩:重合的部分)三个集合的容斥关系公式:|A∪B∪C| = |A|+|B|+|C| - |A∩B| - |B∩C| - |C∩A| + |A∩B∩C|最后可以推广到n个集合,集合里的元素为奇数则加,偶数减百度有证明和详细说明http://baike.baidu.com/l原创 2015-11-27 22:20:52 · 494 阅读 · 0 评论 -
斯特灵数 stiriling
第一类stiriling数:先给出定义s(n,k): 个元素的项目分作{\displaystyle k}个环排列的方法数目(此时我们就可以忽略排列的开始元素举个例子:s(4,2) = 11s(n,0) = 0,s(1,1) = 1递推公式为 s(n,k) = (n-1)*s(n-1,k)+s(n-1,k-1) 解释:当我们考虑到第n个物品的时候:原创 2016-08-15 23:46:59 · 683 阅读 · 0 评论