
模板
xiaoyu1_1
学生
展开
-
tarjan 求强连通分量
void Tarjan(int u){ dfn[u]=low[u]=ntime++; z.push(u); f[u]=1; int i,v; for(i=0;i<q[u].size();i++) { v=q[u][i]; if (!dfn[v]) { Tarjan(v); low[u] = min(low[u], low[v]); } else原创 2013-07-17 00:29:45 · 625 阅读 · 0 评论 -
最小生成树---模板
最基础模板#include#include#includeusing namespace std;#define V 110 //点的个数#define E 5100 //边的个数int parent[V];int root(int p){ if(parent[p]==-1) return p; else return parent[p]=root(parent[原创 2013-11-09 11:03:28 · 514 阅读 · 0 评论 -
树状数组--模板
#include#include#define N 50050int n;int in[N];int Lowbit(int t){ return t&(-t);}int Sum(int p){ int sum=0; while(p>0) { sum+=in[p]; p-=Lowbit(p); } return sum;}void plus(int p,i原创 2013-11-10 15:42:28 · 518 阅读 · 0 评论 -
素数打表
http://blog.youkuaiyun.com/niushuai666/article/details/6973134原创 2013-10-02 13:40:24 · 641 阅读 · 0 评论 -
dijkstra 模板
Input输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想去的地方有D个;接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time分钟;(1=接着的第T+1行有S个数,表示和草儿家相连的城市;接着的第T+2行有D个数,表示草儿想去地方。Output输出ZJB能去某个喜欢的城市的最短时间,原创 2013-11-25 22:56:37 · 731 阅读 · 0 评论 -
优先队列 使用方法
http://www.cppblog.com/shyli/archive/2007/04/06/21366.html转载 2013-11-12 12:26:38 · 752 阅读 · 0 评论 -
扩展欧几里得
查阅博客:http://blog.163.com/justly@yeah/blog/static/1210370002009530105732555/http://blog.youkuaiyun.com/zhangwei1120112119/article/details/8567168BIT1052 poj1061 青蛙的约会http://acm.bit.edu.cn/mod/pro原创 2013-11-28 21:27:31 · 642 阅读 · 0 评论 -
poj 1113 Wall-----凸包
凸包问题。先按 y 坐标排序,y一样的按 x 排序。取p【0】为开始点,每个点与开始点相连,按x轴正方向,每条线段与x轴的夹角 由小到大排序。然后选点求距离。。。本题求凸包的边长+以L为半径的园的周长。#include#include#include#include#includeusing namespace std;int n;double r;int s原创 2013-07-23 01:32:42 · 581 阅读 · 0 评论 -
同余模方程--BIT 1053 Han Xin Count Soldiers
用了2天多,尼玛的,幸好有ZY大神讲解及 对代码调试助攻。。自己程序太渣,还是上ZY代码吧。。Han Xin Count Soldiers时间限制: 1秒 内存限制: 64MDescriptionIn ancient China, there is a great general named Han Xin. One day he wanted to know h原创 2013-12-05 15:49:39 · 768 阅读 · 0 评论 -
最长上升子序列----nlogn算法-模板
#include#include#includeusing namespace std;const int MAX=100010;int a[MAX],dp[MAX],d[MAX];int n;int find(int r,int p){ int l=1,m; while(l<=r){ m=(l+r)>>1; if(d[m]<p) l=m+1; else原创 2013-07-24 22:18:16 · 634 阅读 · 0 评论 -
求最小面积外接矩阵和最小周长外接矩阵
求最小面积外接矩阵和最小周长外接矩阵:转载 2014-04-15 00:15:04 · 964 阅读 · 0 评论 -
hdu 2824 The Euler function--筛法欧拉函数
在百度百科学的,,本来源代码有bug,还编辑了一下百度百科。。这东西果然不靠谱。。#include#include#define N 1000005#define ll long longint prime[N];ll phi[N];ll sum[N];void dabiao(){ int i,j,k; memset(prime,0,sizeof(prime)); fo原创 2013-12-03 17:03:23 · 643 阅读 · 0 评论 -
C++高精度大整数模板
#include#include#include#include#include#includeusing namespace std;#define ll unsigned long long#define inf 0x3f3f3f3fstruct Bigint { // representations and structures string a; //转载 2014-08-01 22:05:19 · 1540 阅读 · 0 评论 -
spfa---模板
spfa模板#include#include#include#includeusing namespace std;#define V 1010 //点的个数#define E 4020 //变的个数*2(双向边)#define INF 0x3f3f3f3fstruct node{ int a,b,len;}p[E];int nex[E];int f原创 2013-11-08 12:50:49 · 592 阅读 · 0 评论 -
差分约束
差分约束问题求最大值:将约束化成 d[a] + k >= d[b] ,形式 。连接a,b,边权为k,求最短路求最小值:将约束化成d[a]+k spfa,例:poj 3169 Layout原创 2013-11-08 10:48:49 · 488 阅读 · 0 评论 -
矩阵快速幂--模板
http://acm.bit.edu.cn/mod/programming/view.php?id=670The Little Architect II#include#include//dp方程:f[n]=3*f[n-1]+3*f[n-2]-f[n-3];//矩阵快速幂 。。 模板//构造矩阵// 3 1 0// 3 0 1//-1 0 0s原创 2013-10-30 20:56:33 · 681 阅读 · 0 评论 -
最长上升子序列 ---模板
#include#includeint n;int p[100000];int dp[100000];int main(){ int i,j,k; while(scanf("%d",&n)!=EOF){ for(i=1;i<=n;i++) scanf("%d",&p[i]); memset(dp,0,sizeof(dp)); dp[1]=1; int max原创 2013-07-23 23:15:55 · 532 阅读 · 0 评论 -
快速幂 ---模板
快速幂模板int quickpow(int m,int n,int k){ int b =1; while (n > 0) { if (n &1) b = (b*m)%k; n = n >>1 ; m = (m*m)%k; } return b;}原创 2013-07-24 09:34:24 · 483 阅读 · 0 评论 -
快速幂模板
参数数据类型,可改为来long long ,__int64.// m^n % kint quickpow(int m,int n,int k){ int b = 1; while (n > 0) { if (n & 1) b = (b*m)%k; n = n >> 1 ;原创 2013-09-30 14:44:12 · 624 阅读 · 0 评论 -
模板--高精度、大整数幂取模
太牛逼了!!http://blog.youkuaiyun.com/cgf1993/article/details/10187825转载 2013-09-30 10:40:09 · 1109 阅读 · 0 评论 -
字符串Hash函数
各种字符串Hash函数比较常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。转载 2013-09-30 13:08:00 · 565 阅读 · 0 评论 -
hdu 4704 Sum-----2^高精度%p
问题:计算2^(n-1)%(1e9+7)费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p),即a^(p-1)%p=1; 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1令p=1e9+7;1e9+7为质数,且和2互质,所以原式=2((n-1)%(p-1))%p;先算原创 2013-09-30 14:56:29 · 598 阅读 · 0 评论 -
手动扩栈
http://blog.youkuaiyun.com/shahdza/article/details/6586430转载 2013-10-02 20:34:33 · 882 阅读 · 0 评论 -
欧拉函数--模板
欧拉函数--模板//求1..n-1中与n互质的数的个数int eular(int n){ int ret=1,i; for (i=2;i*i<=n;i++) if (n%i==0){ n/=i,ret*=i-1; while (n%i==0) n/=i,ret*=i; } if (n>1) ret*=n-1; return ret;}原创 2013-10-02 18:40:30 · 675 阅读 · 0 评论 -
gcd,lcm模板
int gcd(int a,int b){ return b?gcd(b,a%b):a;}inline int lcm(int a,int b){ return a/gcd(a,b)*b;}原创 2013-10-02 18:39:09 · 1697 阅读 · 0 评论 -
(Manacher)算法----O(n)回文子串
O(n)回文子串(Manacher)算法资料来源网络 参见:http://www.felix021.com/blog/read.php?2040问题描述:输入一个字符串,求出其中最大的回文子串。子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和yyxyy。 解析:这里介绍O(n)回文子串(Manacher)算法算法基本要点转载 2013-10-08 16:27:46 · 557 阅读 · 0 评论 -
古罗马--模板
计算古罗马加法,输入不合法,则输出“Aha! I don't need to calculate the sum”。 测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示I↵I↵以文本方式显示II↵1秒64M原创 2013-09-23 00:09:46 · 875 阅读 · 0 评论 -
高精度加减法模板
正整数 + - 法#include #include void plus(char *a, char *b, char *c);void minus(char *a, char *b, char *c);void minus(char *a, char *b, char *c){ int i,j,k; int la=strlen(a); int lb=strlen(b)原创 2013-09-23 00:04:33 · 932 阅读 · 0 评论 -
a^b%c问题 ---模板
(1) ABmod C.(1http://acm.bit.edu.cn/mod/programming/view.php?a=530快速幂----二分#include#include#include#includeusing namespace std;long long quickpow(long long n,long long m,long long p)原创 2013-10-18 23:23:01 · 863 阅读 · 0 评论 -
Miller_Rabin 算法进行素数测试和分解
#include#include#include#include#include#includeusing namespace std;//****************************************************************// Miller_Rabin 算法进行素数测试//速度快,而且可以判断 <2^63的数//********转载 2014-07-28 17:00:29 · 629 阅读 · 0 评论