题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=46用类似于快速幂的方法做,注意1的时候是0;#include using namespace std;int main(){ int ase; int num; int r...
分类:
其他好文 时间:
2014-08-10 10:16:10
阅读次数:
317
Sumdiv
Time Limit: 1000MS
Memory Limit: 30000K
Total Submissions: 13959
Accepted: 3433
Description
Consider two natural numbers A and B. Let S be the sum of all natur...
分类:
其他好文 时间:
2014-08-09 11:43:07
阅读次数:
226
链接:http://poj.org/problem?id=3233
题意:给一个N*N的矩阵(N,求S = A + A^2 + A^3 +
… + A^k(k
思路:很明显直接用矩阵快速幂暴力求和的方法复杂度O(klogk),肯定会超时,我采用的是二分的方法, A + A^2 + A^3 +
… + A^k=(1+A^(k/2)) *(A + A^2 + A^3 +
… + A^(...
分类:
其他好文 时间:
2014-08-07 13:25:40
阅读次数:
266
1.求gcd,算法为欧几里德(辗转相除法)2.解一元二次方程,算法为扩展欧几里德3.求素数,算法为埃氏筛法4.快速进行幂运算,算法快速幂(反复平方)5.解线性同余方程,求逆元(基于exgcd)6.其它用来优化模运算的定理,欧拉定理(费马小定理),相应的函数欧拉函数
分类:
其他好文 时间:
2014-08-07 12:49:39
阅读次数:
239
大白书上说的是模运算。。而且给出了递归版的代码。。我觉得还是非递归的好。。而且加上了位运算,速度更快。下面是快速幂取模模板。
模板:
LL quickpow(LL n, LL m, int mod)
{
LL ans=1;
while(m>0)
{
if(m&1)
ans=ans*n%mod;
m=m >>...
分类:
其他好文 时间:
2014-08-06 12:02:21
阅读次数:
234
题目大意是,n只猫,有k个动作让它们去完成,并且重复m次,动作主要有三类gi,ei,s i j,分别代表第i只猫获得一个花生,第i只猫吃掉它自己所有的花生,第i只和第j只猫交换彼此的花生。k,n不超过100,m不超过1000,000,000,计算出最后每只猫还剩下多少个花生。
我们假设一个n维向量P,每个分量的值代表这n只猫所拥有的花生数,那么对于gi操作其实就是在第i维分量上加...
分类:
其他好文 时间:
2014-08-05 22:44:10
阅读次数:
333
//(2^n-1)%mod
//费马小定理:a^n ≡ a^(n%(m-1)) * a^(m-1)≡ a^(n%(m-1)) (mod m)
# include
# include
# include
# define mod 1000000007
using namespace std;
__int64 pow(__int64 n)
{
__int64 p=1,q=2;
w...
分类:
其他好文 时间:
2014-08-05 22:40:30
阅读次数:
242
题意:给一个递推式S(n) = a1*S(n-1)+...+aR*S(n-R),要求S(k)+S(2k)+...+S(nk)的值。分析:看到n的大小和递推式,容易想到矩阵快速幂。但是如何转化呢?首先看到我们用A表示上面的递推式中的R*R的那个矩阵,那么对于前面那个向量,每次乘上A^k之后都会变成(S...
分类:
其他好文 时间:
2014-08-05 22:17:50
阅读次数:
230
HDU 1588 Gauss Fibonacci(矩阵快速幂+二分等比序列求和)
ACM
题目地址:HDU 1588 Gauss Fibonacci
题意:
g(i)=k*i+b;i为变量。
给出k,b,n,M,问( f(g(0)) + f(g(1)) + ... + f(g(n)) ) % M的值。
分析:
把斐波那契的矩阵带进去,会发现这个是个等比序列。
...
分类:
其他好文 时间:
2014-08-05 03:05:48
阅读次数:
229