模板合集

【快速幂运算】

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;
}

【矩阵快速幂】

【树状数组】

#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;
}

【进制转换】

十进制转二进制
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;

【辗转相除法】

int gcd(int a,int b)
{
    while(b>0)
     {
      c=b;
      b=a%b;
      a=c;
     }
    return c;
}

时间: 2024-07-28 15:46:20

模板合集的相关文章

学渣乱搞系列之Tarjan模板合集

学渣乱搞系列之Tarjan模板合集 by 狂徒归来 一.求强连通子图 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 #include <climits> 7 #include <vector> 8 #include <queue> 9 #incl

【模板】各类我会的傻逼算法模板合集(建设中

如果模板有误请杀了我 好了结束了可以关掉了 最大流dinic const int M=100005,N=2*1234; struct edge{ int to,next,cap; }e[M]; int cnt=1,last[N],h[N]; void insert(int a,int b,int c){ e[++cnt]=(edge){b,last[a],c};last[a]=cnt; e[++cnt]=(edge){a,last[b],c};last[b]=cnt; } bool bfs(in

最短路算法模板合集(Dijkstar,Dijkstar(优先队列优化), 多源最短路Floyd)

再开始前我们先普及一下简单的图论知识 图的保存: 1.邻接矩阵. G[maxn][maxn]; 2.邻接表 邻接表我们有两种方式 (1)vector< Node > G[maxn]; 这个是之前就定义了图的大小了,再下面使用的时候就不用对图的大小进行申请了, 但是因为是直接申请了大小 要对图进行初始化,因此可能在某些题目中这样使用的话会超时 (2)vector< vector<Node> > G; 这个是未定义大小,但是在使用之前要对其的大小内存进行申请. G.resi

字符串算法模板合集

1.KMP KMP模板 #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #define ll long long #define INF 2147483647 #define mem(i,j) memset(i,j,sizeof(i)) #define F(i,j,n) for(register int i=j;i&

线段树模板合集(CodeVS1080 1081 1082 4597)Pascal代码

var sum,flag,a,mn:array[0..800000] of int64; var n,m,x,y,z,c:int64; var i:longint; function max(a,b:int64):int64; begin if a>b then exit(a);exit(b); end; function min(a,b:int64):int64; begin if a<b then exit(a);exit(b); end; procedure change(h:int64

数论模板合集(更新中)

注:均为开\(long\ long\)且未取模 #include<cstdio> #include<algorithm> #include<ctype.h> #include<vector> #include<queue> #include<cstring> #define lowbit(x) (x&-x) #define ll long long #define ld double #include<map> #

前端资源教程合集

综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2.2 En类资源汇总 免费的编程中文书籍索引 前端书籍 前端免费书籍大全 前端知识体系 免费的编程中文书籍索引 智能社 - 精通JavaScript开发 重新介绍 JavaScript(JS 教程) 麻省理工学院公开课:计算机科学及编程导论 JavaScript中的this陷阱的最全收集--没有之一 JS函数式编程指南 JavaScript Promise迷你书

Struts+Hibernate+Spring面试题合集及答案

Struts+Hibernate+Spring面试题合集及答案 Struts+Hibernate+Spring面试题合集 1 1. Hibernate部分 2 1.1. Hibernate工作原理 2 1.2. 什么是Hibernate的并发机制?怎么处理并发问题? 2 1.3. Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页? 3 1.4. hibernate的对象的三种持久化状态,并给出解释? 3 1.5. hibernate的三种状态之间

最新最全的 Android 开源项目合集

原文链接:https://github.com/opendigg/awesome-github-android-ui 在 Github 上做了一个很新的 Android 开发相关开源项目汇总,涉及到 Android 开发的方方面面,基本很全了.对 Android 开发感兴趣的欢迎 Star ,后续也会定期维护更新这个列表.当然,你也可以去 opendigg 上查看. -- 由欧戈分享 awesome-github-android-ui 是由OpenDigg整理并维护的安卓UI相关开源项目库集合.