首页 > 其他 > 详细

模板合集

时间:2016-08-10 22:30:54      阅读:198      评论:0      收藏:0      [点我收藏+]

【快速幂运算】

技术分享
long long quickpow(long long x,long long n,long long k)
{
    long long ans=1;
    while(n>0)
     {
         if(n&1)
          ans=(ans*x)%k;
          n>>=1;
          x=(x*x)%k;
     }
    return ans;
}
View Code

【矩阵快速幂】

【树状数组】

技术分享
#define lowbit(x) x&(-x)
void give(int x,int k)
{
    for(int i=x;i<=n;i+=lowbit(i))
     a[i]+=k;
}
int ask(int x)
{
    int ans=0;
    for(int i=x;i>0;i-=lowbit(i))
     ans+=a[i];
    return ans;
}
View Code

【进制转换】

技术分享
十进制转二进制
while n>0 do
begin
  inc(num);
  a[num]=n mod 2;
  n:=n div 2;
end;
二进制转十进制
now=1
for i=1 to num do
begin
  ans:=ans+a[i]*now;
  now:=now*2;
end;
View Code

【辗转相除法】

技术分享
int gcd(int a,int b)
{
    while(b>0)
     {
      c=b;
      b=a%b;
      a=c;
     }
    return c;
}
View Code

 

模板合集

原文:http://www.cnblogs.com/onioncyc/p/5758591.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!