数据结构-树链剖分
lab104_yifan
这个作者很懒,什么都没留下…
展开
-
HDU 2460 Network(双连通+树链剖分+线段树)
HDU 2460 Network题目链接题意:给定一个无向图,问每次加入一条边,问个图中还剩多少桥思路:先双连通缩点,然后形成一棵树,每次加入一条边,相当于询问这两点路径上有多少条边,这个用树链剖分+线段树处理代码:#include #include #include #include using namespace std;#pragma co原创 2014-10-23 13:53:40 · 1275 阅读 · 0 评论 -
HYSBZ 2243 染色 (树链剖分)
HYSBZ 2243 染色题目链接树链剖分,关键在于线段树的维护,对于每个结点要记录下最左边和最右边的颜色,合并的时候,如果颜色相同那么颜色段要减1代码:#include #include #include #include using namespace std;const int N = 100005;int dep[N], fa[N], son原创 2014-10-02 18:50:23 · 1195 阅读 · 0 评论 -
Light 1348 - Aladdin and the Return Journey(树链剖分)
Light 1348 - Aladdin and the Return Journey题目链接树链剖分基础题,注意一个坑点,就是下标按0开始的话按我的写法是会错的,因为son初值赋成0了,要么改一下son初值,要么把下标都+1代码:#include #include #include #include using namespace std;const原创 2014-10-01 00:05:27 · 1314 阅读 · 0 评论 -
POJ 3723 Tree(树链剖分)
POJ 3237 Tree题目链接就多一个取负操作,所以线段树结点就把最大和最小值存下来,每次取负的时候,最大和最小值取负后,交换即可代码:#include #include #include #include using namespace std;const int N = 10005;const int INF = 0x3f3f3f3f;int原创 2014-10-01 10:29:27 · 1067 阅读 · 0 评论 -
POJ 2736 Housewife Wind(树链剖分)
POJ 2763 Housewife Wind题目链接就树链剖分。。不过这题坑ector啊!, vector居然超时代码:#include #include #include #include using namespace std;#define lson(x) ((x<<1)+1)#define rson(x) ((x<<1)+2)typede原创 2014-09-30 20:11:15 · 1126 阅读 · 0 评论 -
SPOJ QTREE Query on a tree(树链剖分)
SPOJ QTREE Query on a tree题目链接树链剖分基础题代码:#include #include #include #include using namespace std;const int N = 10005;int dep[N], top[N], sz[N], son[N], fa[N], id[N], idx, val[N]原创 2014-09-30 22:02:00 · 930 阅读 · 0 评论 -
HYSBZ 1036 树的统计Count(树链剖分)
HYSBZ 1036 树的统计Count题目链接就树链剖分,线段树维护sum和maxx即可代码:#include #include #include #include using namespace std;const int N = 30005;int dep[N], fa[N], son[N], sz[N], top[N], id[N], idx原创 2014-10-01 00:48:21 · 1601 阅读 · 0 评论 -
FZU 2082 过路费(树链剖分)
FZU 2082 过路费题目链接树链抛分修改边的模板题代码:#include #include #include using namespace std;typedef long long ll;const int N = 50005;int dep[N], id[N], sz[N], top[N], son[N], fa[N], idx;int原创 2014-09-30 16:49:10 · 980 阅读 · 0 评论 -
HDU 3966 Aragorn's Story(树链剖分)
HDU Aragorn's Story题目链接树抛入门裸题,这题是区间修改单点查询,于是套树状数组就OK了代码:#include #include #include #include using namespace std;const int N = 50005;inline int lowbit(int x) {return x&(-x);}i原创 2014-09-30 12:39:55 · 931 阅读 · 0 评论 -
UVA 11354 - Bond(树链剖分)
UVA 11354 - Bond题目链接题意:给定一个图,要求每次询问两点,求出这两点间路径最大危险系数最小思路:先求最小生成树,在生成树上每次询问求LCT就可以了,利用树链剖分求解代码:#include #include #include #include using namespace std;#define lson(x) ((x<<1)+原创 2014-09-30 17:42:44 · 1135 阅读 · 0 评论 -
HDU 5044 Tree(树链剖分)
HDU 5044 Tree题目链接就简单的树链剖分,不过坑要加输入外挂,还要手动扩栈代码:#include #include #include #include using namespace std;const int N = 100005;#pragma comment(linker, "/STACK:1024000000,1024000000"原创 2014-10-02 21:00:04 · 1309 阅读 · 0 评论