
我的模板
苏城yzw
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BFS 4 2 3
#include#include#include#includeusing namespace std;int a[100][100];bool b[100];void BFS(int x,int n){int i,j,k;queuep; //1p.push(x); //2printf("%d ",x);//3b[x]=true;原创 2014-05-19 12:46:08 · 381 阅读 · 0 评论 -
线段树模板
#include#includeint max(int x,int y){ return x>y?x:y;}int a[300000];struct ele{ int Left; int Right; int Max; int Sum;}p[700000];void Build(int L,int R,int Ste原创 2014-07-21 08:03:01 · 327 阅读 · 0 评论 -
dij 最短路径模板
#includeint Path[550];int Dist[550];int Mark[550];int Map[550][550];void Dij(int x,int n){ int i,j,k; for(i=1;i { Dist[i]=Map[x][i]; Mark[i]=1; Pat原创 2014-07-21 07:58:27 · 638 阅读 · 0 评论 -
BFS
//BFS#include#include#includeusing namespace std;int n,m;int a[100][100];bool b[100];void BFS(int x){int i,j,k,t;queuep;p.push(x);printf("%d ",x);b[x]=true;while(p.size()原创 2014-05-27 19:49:51 · 484 阅读 · 0 评论 -
小递归
#includeint main(){int rec(int x,int y);int n;scanf("%d",&n);printf("%d\n",rec(n,n));return 0;}int rec(int x,int y){if(y==1)return 1;elseif(xreturn 0;elseif(x==0||x==原创 2014-05-27 19:16:28 · 390 阅读 · 0 评论 -
小递归
#includeint a[25];int s[3][54]={0};int t=0;void rec(int n){int i,j,k;if(n==9)t++;else{for(i=1;i{if(!s[0][i]&&!s[1][i+n]&&!s[2][i-n+10]){a[n]=i;s[0][i]=s[1][i+n]=s[2][i-原创 2014-05-28 07:42:52 · 419 阅读 · 0 评论 -
小递归
#includeint a[25];int t=0;void rec(int n){int i,j,k;if(n==9)t++;else{for(i=1;i{for(j=1;jif(a[j]==i||n-i==j-a[j]||n+i==j+a[j])break;if(j==n){a[n]=i;rec(n+1);} }原创 2014-05-28 07:11:39 · 379 阅读 · 0 评论 -
最短路模板
#include#includeint a[150][150];int main(){ int N,M; int i; int j,k; int x,y,z; while(scanf("%d%d",&N,&M),N&&M) { for(i=1;i for(j=1;j原创 2014-07-24 11:44:23 · 351 阅读 · 0 评论 -
spfa
0代表meiruzhan#include#include#include#includeusing namespace std;int Map[150][150];int Mark[150];int Dist[150];int N,M;void spfa(int x){ int i; for(i=1;i {原创 2014-07-24 14:32:55 · 333 阅读 · 0 评论 -
归并排序
#includeint a[501122];int b[501122];int c[501122];//__int64 sum;void Merge(int x,int y,int z){ int i,j,k; for(i=x;i b[i]=a[i]; for(i=y+1;i c[i]=a[i];原创 2014-07-25 14:15:11 · 335 阅读 · 0 评论 -
dij 邻接表
#include#includestruct Ele{ int to; int w; int next;} p[100000];int head[100000];int lowcost[100000];bool Mark[100000];int e;void Dij(int x,int n){ int i,j,k;原创 2014-07-26 11:53:18 · 587 阅读 · 0 评论 -
树状数组的模板;
#includeint c[50050];int n;int lowbit(int x){ return (x&-x);}int sum(int x){ int sum1=0; while(x>0) { sum1+=c[x]; x-=lowbit(x); } return s原创 2014-07-27 20:35:27 · 318 阅读 · 0 评论 -
最小费用最大流
#include#include#include#include#includeusing namespace std;#define maxn 550#define INF 99999999int prev[maxn];bool vis[maxn];int head[maxn];int ep,flow;int Dist[maxn];st原创 2014-08-01 20:47:14 · 429 阅读 · 0 评论 -
dij +优先队列
#include#include#includeusing namespace std;#define Size 10010#define Max 99999999struct ele{ int to; int w; int next;}p[2*Size];struct Ele{ int len; int n原创 2014-07-27 14:49:33 · 674 阅读 · 0 评论 -
km 模板
如果为最小的话,权值取负,得到的ans为相反数就可以了#include#include#include#includeusing namespace std;#define INF 99999999#define maxn 330int n,ans;int lx[maxn],ly[maxn],w[maxn][maxn];int visx[maxn原创 2014-07-29 09:22:57 · 396 阅读 · 0 评论 -
DAG 问题
DAG图的最小路径覆盖数=节点数(n)- 最大匹配数(m)关键:求二分图的最大匹配数原创 2014-07-29 11:04:17 · 563 阅读 · 0 评论 -
最大网络流 模板
#include#include#include#include#includeusing namespace std;#define maxn 550#define INF 99999999int G[maxn][maxn];int prev[maxn];bool vis[maxn];int EK(int n){ int原创 2014-07-31 11:05:41 · 415 阅读 · 0 评论 -
小递归
#includeint a[23];int m;int main(){void rec(int n,int x,int t);int n;scanf("%d",&n);m=n;rec(n,n,0);return 0;}void rec(int n,int x,int t){int i,j;for(i=x;i>=1;i--){i原创 2014-05-26 14:57:56 · 360 阅读 · 0 评论 -
小递归
#includeint main(){char a[56];scanf("%s",a);int rec(char a[],int n);rec(a,0);printf("%s",a);return 0;}int rec(char a[],int n){if(a[n]=='\0')return 0;else{char ch;ch=a原创 2014-05-26 12:25:15 · 353 阅读 · 0 评论 -
DFS 我的模板 2 1
#include#include#includeint a[100][100];bool b[100];void DFS(int k,int n){int i,j;printf("%d ",k);//1b[k]=true; //2for(i=1;iif(a[k][i]&&!b[i])DFS(i,n);//1}int main(){原创 2014-05-19 12:59:57 · 444 阅读 · 0 评论 -
邻接链表 3 4 4
#include#includestruct ele{int num;int value;ele *next;}p[125];int main(){int n,m;ele *t;scanf("%d%d",&n,&m);int i,j,k;for(i=1;i{p[i].num=i;p[i].value=-1;p[i].nex原创 2014-05-19 14:04:23 · 496 阅读 · 0 评论 -
连接表 BFS 4 2 3
#include#include#include#includeusing namespace std;struct ele{int num;int value;ele *next; }p[125];bool b[125];void BFS(int x,int n){ele *q;int i,j,k;queueit;it.pu原创 2014-05-19 14:29:27 · 386 阅读 · 0 评论 -
邻接表 DFS
#include#includestruct ele{int num;int value;ele *next; }p[125];bool b[125];void DFS(int i,int n){int j,k;ele *q;printf("%d ",i);//1b[i]=true; //2q=&p[i];while(q)原创 2014-05-19 14:15:54 · 707 阅读 · 0 评论 -
hdu 1312
#include#include#includeusing namespace std;int a[100][100];int k;void DFS(int x,int y,int n,int m){if(y-1>0)if(a[x][y-1]){a[x][y-1]=0;k++;DFS(x,y-1,n,m);} if(y+1if(a[x原创 2014-05-19 20:01:06 · 451 阅读 · 0 评论 -
hdu 1181
#include#include#includestruct ele{int num; ele *next;}p[29];int flag;bool b[29];void init(){int i,j,k;for(i=0;i{p[i].num=i;p[i].next=NULL;}}void DFS(int x){原创 2014-05-20 15:05:23 · 392 阅读 · 0 评论 -
hdu 4540
#include#include#include#includeint a[613][613];int b[613];int c[613];int main(){int n,m;int i,j,k,t;int x,y;while(scanf("%d%d",&n,&m)!=EOF){memset(b,0,sizeof(b));memset(原创 2014-05-21 16:08:55 · 408 阅读 · 0 评论 -
hdu 1241
#include#include#includeusing namespace std;int a[202][202];bool b[202][202];void DFS(int x,int y){a[x][y]=false;if(a[x+1][y])DFS(x+1,y);if(a[x-1][y])DFS(x-1,y);if(a[x][y+1])原创 2014-05-21 16:38:11 · 406 阅读 · 0 评论 -
小递归
//二进制 递归 #includeint main(){int n;scanf("%d",&n);void rec(int n);rec(n);printf("\n");return 0;}void rec(int n){if(n){rec(n/2);printf("%d",n%2);}}原创 2014-05-23 16:33:55 · 336 阅读 · 0 评论 -
小递归
//求阶乘问题,递归 #includeint main(){int n;scanf("%d",&n);int rec(int n); printf("%d\n",rec(n));return 0;}int rec(int n){if(n==0)return 1;elsereturn n*rec(n-1);}原创 2014-05-23 16:11:55 · 407 阅读 · 0 评论 -
hdu 1176
#include#includeint a[100001][13];int max(int x,int y,int z){int t=x>y?x:y;return t>z?t:z;}int main(){int n;int i,j,k;while(scanf("%d",&n),n){k=0;memset(a,0,sizeof(a));原创 2014-05-23 19:17:43 · 383 阅读 · 0 评论 -
小递归
//最大数 #includeint main(){int i,j,k;int a[10];for(i=0;iscanf("%d",&a[i]);int rec(int a[],int n);printf("%d\n",rec(a,10));return 0;} int rec(int a[],int n){if(n==1)return a原创 2014-05-23 16:23:36 · 326 阅读 · 0 评论 -
小递归
//求斐波那契问题,递归 #includeint main(){int n,m;scanf("%d",&n);int rec(int n); printf("%d\n",rec(n));return 0;}int rec(int n){if(n==0)return 1;if(n==1)return 1;elsereturn rec原创 2014-05-23 16:15:53 · 356 阅读 · 0 评论 -
小递归
//小递归 最大公约数 #includeint main(){int rec(int x,int y); int x,y;scanf("%d%d",&x,&y);printf("%d\n",rec(x,y));return 0;} int rec(int x,int y){if(x%y==0)return y;elserec(y,x%y原创 2014-05-23 16:48:21 · 358 阅读 · 0 评论 -
小递归
#include#includechar a[20];int main(){void rec(char a[],int n,int i);scanf("%s",a);int n=strlen(a);rec(a,n/2,0);printf("%s\n",a);return 0;}void rec(char a[],int n,int i){ch原创 2014-05-26 09:27:16 · 353 阅读 · 0 评论 -
小递归
#includeint a[56];int main(){int n;void rec(int n,int x);scanf("%d",&n);rec(n,0);return 0;}void rec(int n,int x){int i,j,k;if(n>3)for(i=1;i{a[x]=i;rec(n-i,x+1);}i原创 2014-05-26 16:03:58 · 413 阅读 · 0 评论 -
dinic 模板
#include#include#include#includeusing namespace std;#define maxn 550#define INF 99999999int level[maxn];int N,M;struct ele{ int c; int f;}Map[maxn][maxn];bool原创 2014-07-31 16:44:36 · 414 阅读 · 0 评论