spoj
文章平均质量分 51
lsr_yali
中国人寿,你值得拥有
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spoj375树链剖分模板
题意: 对于一颗树,两种操作(1)修改某边权(2)查询两点间最大边权 解:树链剖分 代码(200ms): #include #include #include #include #include #include #include #define For(i,j,k) for(register int i=(j);i<=(int)k;i++) #define Forr(i,j,k)原创 2016-12-04 10:36:19 · 323 阅读 · 0 评论 -
SPOJ Count on a tree
题意:给一棵树和点权,查询链上第k大点权解:主席树每个点相对父亲的线段树再加一个点建立主席树,查询的数字出现情况即为t[u]+t[v]-t[lca]-t[fa[lca]]代码#include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> #include<queue> #define For(i,j,k) for(in原创 2017-02-16 23:31:27 · 301 阅读 · 0 评论 -
QTREE系列1,4,5,6,7 LCT
QTREE1题意:给出一棵N(N <= 10000)个点的树,要求支持: 1.改变第i条边的权值 2.求a->b上的最大边权解:直接树剖或LCT即可代码1.LCT(660ms)#include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> #include<iostream> #define L(i) (T[i].原创 2017-02-12 09:10:53 · 666 阅读 · 0 评论 -
SPOJGSS7 Can you answer these queries VII
题意树上最大连续子段和题解维护前后缀和总的最大连续子段和 合并即可代码#include<cstdio> #include<cstring> #include<algorithm> #include<cstdlib> #define L(i) (T[i].s[0]) #define R(i) (T[i].s[1]) #define F(i) (T[i].fa) #define S(i) (T[i].原创 2017-02-12 10:00:35 · 297 阅读 · 0 评论
分享