摘要: http://poj.org/problem?id=3321刚一看题以为要建一颗树 看了下讨论说dfs这里dfs遍历时设的标号很好 一个low一个high 包含了以这一节点为根节点的子树结点的所有标号 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define N 100010 8 #define lowbit(x) (x&(-x)) 9 struct node10 {11 int u,v,next;12 }ed[N<<1];13 int head[N],t, 阅读全文
posted @ 2013-07-29 19:41 _雨 阅读(192) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1195模版题 i写成k了 找了一个多小时没找出来。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define N 1050 8 #define lowbit(x) (x&(-x)) 9 int n,c[N][N];10 void add(int i,int j,int da)11 {12 int k;13 while(i>t>>n;43 memset(c,0,sizeof(c));44 w... 阅读全文
posted @ 2013-07-29 16:17 _雨 阅读(218) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4619二分图匹配 最小点覆盖 = 最大匹配 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int map[1010][1010]; 7 struct node 8 { 9 int x,y;10 }p[1010],q[1010];11 int n,m,vis[1010],link[1010];12 int judge(int i,int j)13 {14 if(p[i].x>n>>m)42 {4... 阅读全文
posted @ 2013-07-29 14:43 _雨 阅读(181) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2892记录每个区间端点的左连续及右连续 都是单点更新 用不着向下更新 还简单点找错找了N久 最后发现将s[w 2 #include 3 #include 4 #include 5 using namespace std; 6 #define N 50010 7 int lr[N>1;14 build(l,m,w>1;20 lr[w] = lr[w>1;36 if(p>1;49 if(p=p)58 return lr[w>n>>m)67 {68 build(1,n,1);... 阅读全文
posted @ 2013-07-29 14:33 _雨 阅读(254) 评论(0) 推荐(0) 编辑