随笔分类 - 模板
dijkstra
摘要:#define DeBUG#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std ;#define zero {0}#define INF 2000000000#define EPS 1e-6typedef long long LL;const double PI = acos(-1.0);inline int sgn(double x){ return ...
阅读全文
HDU3724 ( Encoded Barcodes ) 字典树
摘要:字典树模板,v记录当前节点下单词数,注意与当前节点相同(到当前节点为止)的单词的统计p->v-sumall_vnext#include #include#include#include#includeusing namespace std;#define zero {0}typedef struct Trie{ int v; Trie *next[26];} Trie;char s[100100][100];Trie root;void createTrie(char *str){ int len = strlen(str); Trie *p = &root, *q; ...
阅读全文
KMP模板
摘要:int b[MAXM]=zero;//根据需要改charint a[MAXN]=zero;int next[MAXM];void GetNext(int len)//得到b的next{ int i,j; for(i=1,j=0;i<=len;) { if(j==0||b[i-1]==b[j-1]) { next[i]=j; j++; i++; } else { j=next[j]; } }}int kmp(int lena,int lenb){ int i,j; for(i=0,j=0;i<lena;) { if(j==0||a[i]==b[j]) { if(a[i]!=b[j].
阅读全文
HDU4686矩阵快速幂
摘要:Arc of DreamTime Limit: 2000/2000 MS (Java/Others)Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 297Accepted Submission(s): 93Problem DescriptionAn Arc of Dream is a curve defined by following function:wherea0 = A0ai = ai-1*AX+AYb0 = B0bi = bi-1*BX+BYWhat is the value of AoD(N) modulo
阅读全文
二叉搜索树
摘要:对应HDU3791#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std ;#ifdef DeBUG#define bug assert#else#define bug //#endif#define zero {0}#define INF 2000000000#define eps 1e-6typedef struct _Node //二叉树类,n保存变量{ int n;...
阅读全文
筛选法求素数
摘要:C++ Code123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051筛法素数产生器语法:result=prime(inta[],intn);参数:a[]:用于返回素数的数组n:产生n以内的素数,按升序放入a[]中返回值:n以内素数的个数注意:其中W[],B[]已知,W[i]>0且W[i]与W[j]互质,求a源程序:intprime(inta[],intn){inti,j,k,x,num,*b;n++;n/=2;b=(int*)malloc(sizeof(i
阅读全文
最小生成树算法合集
摘要:1 kruskal 1 struct seg 2 { 3 int a; 4 int b; 5 int p; 6 }; 7 seg v[100];//边的最大值 8 int father[30];//最大限为点的最大值 9 int cmp(seg a,seg b)10 {11 return a.pD[j])29 {30 min=D[j];31 k=j;32 }33 }34 visit[k]=1;35 len...
阅读全文
母函数模板
摘要:HDU1398#includeusing namespace std;int main(){ //freopen("C:\\Users\\Sky\\Desktop\\1.in","r",stdin);//PLEASE DELETE IT!!!!!!!!!!!!!!!!!!!!!!!! int a[350],b[350],i,j,k,n; while(cin>>n&&n) { for(i=0; i#includeconst int N=102;int min[N],max[N],c1[N],c2[N];int main(){ i
阅读全文
常用函数集锦
摘要:atof(将字符串转换成浮点型数)atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)strtod(将字符串转换成浮点数)strtol(将字符串转换成长整型数)strtoul(将字符串转换成无符号长整型数)toascii(将整型数转换成合法的ASCII 码字符)toupper(将小写字母转换成大写字母)tolower(将大写字母转换成小写字母)
阅读全文
一个超全的头文件
摘要://STATUS:C++_AC_500MS_1012KB#include #include #include //#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;//using namespace __gnu_cxx;//define#define pii pair#define m
阅读全文
HDU1166树状数组
摘要:敌兵布阵Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 28493Accepted Submission(s): 12198 Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地
阅读全文
HDU1059 DP模板
摘要:#includeint dp[120005];int V,v;void bag01(int c,int w)//01背包{for(v=V; v>=c; v--)if(dp[v]=V)bagall(c,w);else{int k=1;while(k<p){bag01(c*k,w*k);p=p-k;k=k+k;}bag01(c*p,w*p);}}int main(){int n[8];int i,sum,p=0;while(scanf("%d%d%d%d%d%d",&n[1],&n[2],&n[3],&n[4],&n[5],&
阅读全文
HDUOJ 1392凸包graham算法
摘要:#include #include #include #include #include using namespace std;const int Max = 1100;struct Point{ int x; int y;};int num;Point p[Max]; ///原始点集Point ch[Max]; ///凸包点集///p0p1叉乘p0p2int xmult(const Point &p0, const Point &p1, const Point &p2){ return (p1.x-p0.x)*(p2.y-p0.y) - (p2.x-p0.x)*(p
阅读全文
快速幂,就当个模板了
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include11 #include12 using namespace std ;13 #ifdef DeBUG14 #define bug assert15 #else16 #define bug //17 #endif18 int pow3(int a, int b)19 {20 int r = 1, base = a;21 while(b != 0)...
阅读全文
HDU1086判断线段相交
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 using namespace std ; 13 #ifdef DeBUG 14 #define bug assert 15 #else 16 #define bug // 17 #endif 18 #define eps 1e-6 19 struct segment 20 { 21 double x...
阅读全文
高效大数模板
摘要:1 #include 2 #include 3 4 using namespace std; 5 6 const unsigned int MAX = 10000; //整型数组的最大长度 7 const long long WIDTHMAX = 1000000000; //整型数组val[MAX]的元素上限 8 const unsigned int WIDTH = 9; //输出整型数组val[MAX]的元素时的格式宽度,即整型数组val[MAX]的元素的最多位数 9 10 typedef struct node 11 { 12 long long ...
阅读全文
大数类
摘要:#define inandoutn#include #include #include #include #include #include #include #include #include using namespace std ;const int IntegerLen=1000;class Integer{public:Integer(int num=0)//利用整数初始化 有待改进 {if(num=10){result[i]-=10;result[i+1]++;}}result.sign=(*this).sign;}else result=(*this)-(-another);r.
阅读全文
浙公网安备 33010602011771号