上一页 1 2 3 4 5 6 7 8 9 10 ··· 27 下一页
摘要: 题目求1-n中与n互质的数的4次方之和,即S=a1^4+a2^4+……; a1,a2……均小于等于n且与n互质。先求出1^4+2^4+……n^4然后减去与n不互质的数的4次方。必然要先要用到4次方的求和公式。接下来简单的证明一下,这里前提是你知道3次方的公式,如果不会照下面的模式可以利用2次公式推出3次公式(x+1)^5=x^5+5*x^4+10*x^3+10*x^2+5*x+1;则 1=1;2^5=(1+1)^5=1^5+5*1^4+10*1^3+10*1^2+5*1^1+1;3^5=(2+1)^5=2^5+5*2^4+10*2^3+10*2^2+5*2^1+1;…………(n+1)^5=(n 阅读全文
posted @ 2012-07-28 16:06 wutaoKeen 阅读(797) 评论(0) 推荐(0)
摘要: 简单的容斥定理的运用:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<cstring>#include<vector>#include<string>#define LL long longusing namespace st 阅读全文
posted @ 2012-07-27 21:57 wutaoKeen 阅读(198) 评论(0) 推荐(0)
摘要: 容斥定理:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<cstring>#include<vector>#include<string>#define LL long longusing namespace std;LL n 阅读全文
posted @ 2012-07-27 20:37 wutaoKeen 阅读(187) 评论(0) 推荐(0)
摘要: 这个题要用容斥定理,求出x与y互质的对数,然后x与y同时乘以k,如果x与y都在范围之内,则这一对符合条件;这里的处理方法就是对b与d缩小k倍,寻找里面的互质的数的对数,我们在扩大k倍,就可以解决,上面存在的问题;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include&l 阅读全文
posted @ 2012-07-27 17:31 wutaoKeen 阅读(215) 评论(0) 推荐(0)
摘要: 这个题跟http://poj.org/problem?id=2356;是一样,这里就不解释了http://www.cnblogs.com/bo-tao/archive/2012/07/27/2611306.htmlView Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include& 阅读全文
posted @ 2012-07-27 11:34 wutaoKeen 阅读(103) 评论(0) 推荐(0)
摘要: 这是一道简单的对鸽笼原理的运用;题意:给出N个数,从中选出若干个数使得它们的和为N的倍数。有一种简单的方法如下:虽然题目没限制怎样选,但是我们可以证明:存在若干个这样的连续数,它们的和是N的倍数。为此,我们可以考察和Sk =a1+a2+...+ak.如果存在一个Sk是N的倍数,那么把前K个数选出来就可以了。否则所有N歌Sk除以N的余数只有1,2,3,4...N-1;这n-1种可能(n-1个盒子),由基本原理 知,必然有两个不同的和Si和Sj(i<j)除以N的余数相同,所以Sj -Si = ai+1 + .... aj 是N的倍数;View Code #include<iostrea 阅读全文
posted @ 2012-07-27 10:27 wutaoKeen 阅读(257) 评论(0) 推荐(0)
摘要: 转载:http://www.cppblog.com/y346491470/articles/157284.html【题意】:有n只猫咪,开始时每只猫咪有花生0颗,现有一组操作,由下面三个中的k个操作组成:1. g i 给i只猫咪一颗花生米2. e i 让第i只猫咪吃掉它拥有的所有花生米3. s i j 将猫咪i与猫咪j的拥有的花生米交换现将上述一组操作做m次后,问每只猫咪有多少颗花生?【题解】:m达到10^9,显然不能直接算。因为k个操作给出之后就是固定的,所以想到用矩阵,矩阵快速幂可以把时间复杂度降到O(logm)。问题转化为如何构造转置矩阵?说下我的思路,观察以上三种操作,发现第二,三种操 阅读全文
posted @ 2012-07-26 09:26 wutaoKeen 阅读(178) 评论(0) 推荐(0)
摘要: 这是一道经典的矩阵题:这个题就是要构造一个矩阵;A 1 * A 1 ---> A*A A + 1 ..... A^k S(k-1) + 1;0 1 0 1 0 1 0 1;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<cstring>#include<vector># 阅读全文
posted @ 2012-07-25 15:55 wutaoKeen 阅读(187) 评论(0) 推荐(0)
摘要: 这个题用矩阵相乘法:f[n-2] 0 1 ----> f[n-1]f[n-1] 1 1 f[n];我们只要对矩阵进行相乘就可以了;View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<cstring>#include<vector>#include<string> 阅读全文
posted @ 2012-07-24 22:31 wutaoKeen 阅读(127) 评论(0) 推荐(0)
摘要: 这个题一道区间覆盖题:这里要用到线性规划:max(x , xi),max(y,yi)寻找顶点坐标;min(c , ci) 寻找最下的区域;因此:r = c - x - y;View Code View Code #include<cstdio>#include<cstdlib>#include<cmath>#include<algorithm>#define LL long longusing namespace std;LL sum;int X[15],Y[15],R[15],C[15],n;void Solve( int x , int y 阅读全文
posted @ 2012-07-24 21:08 wutaoKeen 阅读(179) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 27 下一页