2012年3月4日

poj 1741 Tree 树的分治

摘要: 题意:给定一棵边带权的树,求多少对点之间的距离小于k 1 #include<iostream> 2 #include<cmath> 3 #include<cstdio> 4 #include<cstring> 5 #include<algorithm> 6 using namespace std; 7 #define NMAX 10010 8 struct node 9 {10 int num,weight;11 node *next;12 };13 node *graph[NMAX];14 node memo[2*NMAX];15 阅读全文

posted @ 2012-03-04 21:52 myoi 阅读(388) 评论(3) 推荐(0) 编辑

spoj 2798 Query on a tree again! 树链剖分

摘要: 题意:给定一棵树,每个节点颜色是黑色或者是白色。初始时,全白。定义两种操作0 i 改变第i个节点1 v 询问从1到v的路径上,第一个黑节点 1 #include<iostream> 2 #include<cstring> 3 #include<cmath> 4 #include<cstdio> 5 using namespace std; 6 #define MAXN 100010 7 #define INF 987654321 8 struct node 9 { 10 int r; 11 node *next; 12 }; 13 struct 阅读全文

posted @ 2012-03-04 19:47 myoi 阅读(340) 评论(0) 推荐(0) 编辑

spoj 913 Query on a tree II 倍增

摘要: 题意:给定一棵边带权树定义两种询问DIST a b: a b之间距离KTH a b k: a b之间的路径的第k个数 1 #include<iostream> 2 #include<cstring> 3 #include<cmath> 4 #include<cstdio> 5 using namespace std; 6 #define MAXN 10010 7 struct node 8 { 9 int num,weight; 10 node *next; 11 }; 12 node *graph[MAXN]; 13 node memo[2*M 阅读全文

posted @ 2012-03-04 09:00 myoi 阅读(391) 评论(3) 推荐(0) 编辑

导航