模板
信鸦
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
个人模板 拓扑排序
#include using namespace std; int n, m; int a[101][101], d[101]; void topo(){ for(int i = 1; i <= m; i++){ for(int j = 1; j <= m; j++){ if(!d[j]){ d[j]--;原创 2017-08-07 17:12:07 · 569 阅读 · 0 评论 -
个人模板 最短路SPFA
#include using namespace std; const int N = 10000 + 10; struct xx { int v; int c; } f[N]; int head[N]; int nex[N]; int dis[N]; int vis[N]; int cnt[N]; int e, n, m; void Clear() { memset(原创 2017-05-10 12:48:04 · 358 阅读 · 0 评论 -
个人模板 Kruskal 最小生成树
#include #include using namespace std; const int N = 1e5 + 10; int n, m; struct xx{ int u, v, len; }a[N]; int f[N]; int Find(int x){ return x == f[x] ? x : (f[x] = Find(f[x])); } int Merg原创 2017-07-01 10:24:40 · 366 阅读 · 0 评论 -
个人模板 prim 最小生成树
#include using namespace std; const int Inf = 0x3f3f3f3f; const int N = 1e4 + 10; int n, m; int a[N][N]; int prim(){ int mst[N], low[N], ans = 0; mst[1] = 0; for(int i = 2; i <= n; i++)原创 2017-07-01 12:31:38 · 327 阅读 · 0 评论 -
HYSBZ 1191HYSBZ 1191(二分图最大匹配裸题)
1191: [HNOI2006]超级英雄Hero Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4717 Solved: 2155 [Submit][Status][Discuss] Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品原创 2017-08-03 17:12:32 · 364 阅读 · 0 评论 -
个人模板 线段树
有n个结点,m次查询#include using namespace std; #define N 5 struct tree { int l,r,sum,mmax; } T[N*4]; int ans; void build(int l,int r,int k) { T[k].l=l,T[k].r=r,T[k].sum=0; if(l==r) return; in原创 2017-03-28 15:55:50 · 433 阅读 · 0 评论 -
个人模板 树状数组
#include #include #include using namespace std; int a[50000]; int tree[50000]; int n; int lowbit(int x) { return (x&-x); } void pushup(int x,int value) { while(x<=n) { tree[x原创 2017-05-05 22:38:01 · 351 阅读 · 0 评论 -
个人模板 堆
大顶堆 #include using namespace std; const int N = 1e5 + 10; struct heap{ int size, a[N<<1]; heap(){ size = 0; memset(a, 0, sizeof(a)); } void Pushup(int k){原创 2017-08-14 17:07:43 · 305 阅读 · 0 评论 -
个人模板 KMP
#include #include using namespace std; char a[1001]; char b[101]; int next[101]; int lena,lenb; void get_next() { int i=0,j=-1; next[0]=-1; while(i { if(j==-1||b[i原创 2017-03-27 18:04:42 · 614 阅读 · 0 评论 -
个人模板 组合数 C(m,n)
#include const int maxn=1000000; #include using namespace std; bool arr[maxn+1]={false}; vector produce_prim_number() { vector prim; prim.push_back(2); int i,j;原创 2017-04-14 21:11:26 · 767 阅读 · 0 评论 -
HDU - 2222 Keywords Search(AC自动机模板题)
Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 67795 Accepted Submission(s): 22825 Problem Description In the原创 2017-09-12 20:48:41 · 393 阅读 · 0 评论 -
bzoj - 1588 营业额统计 (Splay裸题)
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MB Submit: 16991 Solved: 6843 [Submit][Status][Discuss] Description 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tige原创 2017-08-28 17:06:03 · 417 阅读 · 0 评论 -
BZOJ - 1036 树的统计Count(线段树树链剖分裸题)
1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MB Submit: 19039 Solved: 7761 [Submit][Status][Discuss] Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成 一些操作:原创 2017-10-20 16:29:50 · 380 阅读 · 0 评论 -
HDU - 1251 统计难题(字典树模板题)
统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Submission(s): 45711 Accepted Submission(s): 16279 Problem Description Ignatius最近遇到一个难题,老原创 2017-10-28 22:57:56 · 401 阅读 · 0 评论 -
个人模板 Manacher求最长回文字串
#include using namespace std; const int N = 1000 + 10; string manacher(string s) { int length=s.size(); for(int i=0,k=1;i<length-1;i++)//给字符串添加 # { s.insert(k,"#"); k=k+2原创 2017-05-08 16:57:51 · 359 阅读 · 0 评论 -
C++ string 字符串查找匹配
在写C++程序中,总会遇到要从一个字符串中查找一小段子字符串的情况,对于在C中,我们经常用到strstr()或者strchr()这两种方法。而对于C++的string,我们往往会用到find()。 C++:#inlcude C: #include find():在一个字符串中查找一个指定的单个字符或字符数组。如果找到,就返回首次匹配的开始位置;如果没有查找到匹配的内容,就返回stri转载 2017-10-24 18:51:35 · 7678 阅读 · 0 评论 -
个人模板 高精度BigInt
#include using namespace std; const int M = 1001 ; void Add(char a[],char b[],char d[]) { char c[10001]; int lena=strlen(a),lenb=strlen(b); int i,j,len; len=lena>lenb?lena:lenb; le原创 2017-04-14 21:29:53 · 565 阅读 · 0 评论 -
个人模板 大数阶乘
#include using namespace std; #define N 1000 int a[N]; void factorial(int n) { memset(a,0,sizeof(a)); int sum,k; a[0]=1; for(int i=2; i { k=0; for(int j原创 2017-03-27 19:19:23 · 442 阅读 · 0 评论 -
个人模板 字符串最小表示法
#include using namespace std; int getminsub(char *a) { int i = 0,j = 1,len = strlen(a),k = 0; while(i < len && j < len && k < len) { if(k == len) break; if(i == j) j++;原创 2017-05-09 17:21:47 · 454 阅读 · 0 评论 -
个人模板 快速幂取模,矩阵快速幂,快速乘
#include using namespace std; const int MOD = 1007; int xx(int a,int n,int MOD) //计算a的n次方对MOD取模 { int ret=1; int tmp=a%MOD; while(n) { if(n&1) ret=ret*tmp原创 2017-03-27 17:54:29 · 755 阅读 · 0 评论 -
个人模板 字符串按字典序排序
#include using namespace std; struct A { char str[101]; }; char a[100][100]; int n; int cmp(const void *a,const void *b) { A *c, *d; c = (A *)a; d = (A *)b; return strcmp(c -> st原创 2017-05-06 18:48:38 · 474 阅读 · 0 评论 -
个人模板 简单离散化
#include ///简单离散化(去重???) using namespace std; const int N = 1e5 + 10 ; struct zuobiao { int date,pos; } a[N]; int aa[N]; int n; int cmp(zuobiao a,zuobiao b) { if(a.date==b.date) retu原创 2017-04-15 09:32:10 · 543 阅读 · 0 评论 -
个人模板 最长公共子序列
例题: http://acm.hdu.edu.cn/showproblem.php?pid=1159 #include using namespace std; const int N = 5000 + 10; char a[N], b[N]; int dp[2][N]; int main() { int n; while(~scanf("%s%s", a, b))原创 2017-05-05 22:57:38 · 346 阅读 · 0 评论 -
个人模板 最长公共连续子序列
#include using namespace std; void getLCS(char* str1, char* str2) { int len1 = strlen(str1); int len2 = strlen(str2); int matrix[len1]; //str1为x方向 //初始化matrix for (int i = 0; i <原创 2017-05-05 22:42:13 · 377 阅读 · 0 评论 -
个人模板 ST表
#include using namespace std; const int N = 1e5 + 10; int a[N]; int f[N][16]; int n; void rmq_init() //建立:dp(i,j) = min{dp(i,j-1),dp(i+2^(j-1),j-1) O(nlogn) { for (int i = 1; i <= n; i++)转载 2017-05-05 22:34:42 · 451 阅读 · 0 评论 -
个人模板 计算年月日
#include #include #include #define ll long long using namespace std; int judge(int y) { if(y%400==0) return 1; if(y%4==0&&y%100!=0) return 1; return 0; } int yue1[13]原创 2017-04-14 21:17:55 · 524 阅读 · 0 评论 -
个人模板 归并排序
#include const int maxn = 100004; void Merge(int data[], int pd[], int l, int mid, int r) { int i, j, k; i = l; j = mid + 1; k = 0; while(i <= mid && j <= r) // 合并 pd[k++] =原创 2017-04-14 17:50:50 · 371 阅读 · 0 评论 -
个人模板 图的深度,广度优先遍历
#include #include using namespace std; int vis[101]; int a[101][101]; int n,m,sum;//n个点,m条边 void dfs(int s) { printf("%d ",s); sum++; if(sum==n) return; for(int i=1原创 2017-03-27 19:31:31 · 579 阅读 · 0 评论 -
个人模板 BFS
#include using namespace std; int m,n; char a[110][110]; int vis[110][110]; int dx[]={1,-1,0,0}; int dy[]={0,0,1,-1}; struct xx { int a,b; }; int judge(int i,int j) { if(i>=0&&i=0原创 2017-03-27 17:37:55 · 364 阅读 · 0 评论 -
个人模板 01背包
#include using namespace std; struct item { int vol,val; //volum和value }item[1001]; int main() { int n,m; int dp[1001]; while(scanf("%d%d",&n,&m)==2) { memset(d原创 2017-03-27 18:12:56 · 372 阅读 · 0 评论 -
个人模板 筛法求素数
#include using namespace std; #define Max 10000 int temp[Max+1]={1,1}; int su[Max]={}; void prime() { int x=0; for(int i=2;i { if(!temp[i]) { su[x++原创 2017-03-27 18:20:19 · 446 阅读 · 0 评论 -
个人模板 最短路djkstra
在n个点m条边的图中求s点到e点的最短距离 #include #define inf 1e7 using namespace std; int m,n,s,e; int a[101][101]; int dis[101]; int vis[101]; void djkstra(int m,int k) { for(int i=1; i {原创 2017-03-27 18:52:24 · 491 阅读 · 0 评论 -
个人模板 最短路floyd
#include #define inf 0x3f3f3f using namespace std; int a[101][101]; int main() { int m,n; while(scanf("%d%d",&n,&m)==2) { for(int i=0; i { for(int j=原创 2017-03-27 19:03:22 · 339 阅读 · 0 评论
分享