码迷,mamicode.com
首页 > 其他好文 > 详细

模板合集

时间:2016-08-10 22:32:10      阅读:118      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!