
主席树
Ren_Ivan
衡中oier,fight for furture
展开
-
bzoj 2588 树上主席树
主席树上树,对于每个节点,继承其父亲的,最后跑f[x]+f[y]-f[lca]-f[fa[lca]]去重竟然要减一,我竟然不知道??#include#include#include#include#include#define N 100005using namespace std;int e=1,head[N];struct edge{ int u,v,next;原创 2017-08-03 10:08:13 · 384 阅读 · 2 评论 -
bzoj 3551 kruskal重构树dfs序上的主席树
强制在线kruskal重构树,每两点间的最大边权即为其lca的点权。倍增找,dfs序对应区间搞主席树#include#include#include#include#include#define N 100005#define M 500005using namespace std; int l[2*N],r[2*N],cnt,num_cnt,val[2*N],num原创 2017-08-05 08:36:12 · 304 阅读 · 0 评论 -
bzoj 2653 middle 二分答案 主席树判定
判断中位数是否可行需要将当前的解作为分界,大于其的置为1,小于为-1,然后b-c必选,ab,cd可不选,这个用线段树判定就好但不能每次跑,所以套主席树,按权值排序,构建主席树,更新时将上一个节点改为-1,能保证以上结论#include#include#include#include#include#define N 20005using namespace std;int l原创 2017-08-05 11:46:20 · 299 阅读 · 0 评论 -
bzoj 1901 主席树+树状数组
修改+查询第k小值单纯主席树修改会打乱所有,所以再套一个树状数组维护前缀和使得修改,查询都是log对了,bzoj上不需要读入组数,蜜汁re。。#include#include#include#include#includeusing namespace std;int n,m,sz,T,num_tot,num_cnt,num_l,num_r;int sum[8000005原创 2017-08-03 09:51:23 · 281 阅读 · 0 评论