输入有点繁琐View Code #include<stdio.h>#include<string.h>#include<stdlib.h>struct node { struct node *child[26]; char *str;}*root;void insert(char *c1,char *c2){ int len=strlen(c2); struct node *cur,*newnode; cur=root; for(int i=0;i<len;i++) { if(cur->child[c2[i]-'a']!=0) . Read More
posted @ 2011-11-25 16:04 Because Of You Views(262) Comments(0) Diggs(0) Edit
又是神奇的建图题,这道题充分体现了2-sat选了谁必须选谁的性质某一轮如果选了必输的方法,则要连一条边到对立点;即如果选a必输,则连一条边a->a‘总之,要不断找矛盾贴贴很挫的代码View Code #include<stdio.h>#include<string.h>#include<vector>#include<algorithm>using namespace std;const int MAX = 20010;vector<int> edge[MAX];int st[MAX];int dfn[MAX],low[MAX] Read More
posted @ 2011-11-25 15:45 Because Of You Views(367) Comments(0) Diggs(0) Edit
很奇怪很奇怪的一件事情输入的时候用scanf ("%s%s",s1,s2)竟然错了最后无语的换了下输入,建图不难的#include<stdio.h>#include<string.h>#include<vector>#include<algorithm>using namespace std;const int MAX = 2011;vector<int> edge[MAX];int st[MAX];int dfn[MAX],low[MAX];int top,btype,tdfn;//btype:Á Read More
posted @ 2011-11-25 15:40 Because Of You Views(217) Comments(0) Diggs(0) Edit
矩阵相乘模板#include <cstdio>#include <cstring># define ld __int64struct Matrix{ ld a[2][2]; void init() { a[0][0]=a[1][0]=a[0][1]=1; a[1][1]=0; }};Matrix matrix_mul(Matrix a,Matrix b){ int i,j,k; Matrix ans; for(i=0;i<2;i++) { for(j=0;j<2;j++) { ans.a[i][j]=0; for(k=0;k<2;k++) ans.a[ Read More
posted @ 2011-11-25 13:11 Because Of You Views(239) Comments(0) Diggs(0) Edit