cychester

随笔分类 -  主席树

BZOJ 3932 [CQOI2015]任务查询系统 - 差分 + 主席树
摘要:Solution 差分就好了, 在$s_i$ 的点+1, $e_i + 1$ 的点 - 1。 查询的时候注意$l == r$ 要返回 $k * b[l]$ ,而不是$sum[node] $因为当前位置的个数可能大于$k$ 最后再心疼自己因为神奇建树挂死2333, 被大佬喷了( Code 1 #inc 阅读全文

posted @ 2018-09-14 10:37 cychester 阅读(96) 评论(0) 推荐(0)

BZOJ 2733 [HNOI2012]永无乡 - 启发式合并主席树
摘要:Description 1: 查询一个集合内的K大值 2: 合并两个集合 Solution 启发式合并主席树板子 Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define rd read() 5 #defi 阅读全文

posted @ 2018-09-10 19:29 cychester 阅读(203) 评论(0) 推荐(0)

BZOJ 3123 [SDOI2013] 森林 - 启发式合并 主席树
摘要:Description 给你一片森林, 支持两个操作: 查询$x$到$y$的$K$大值, 连接两棵树中的两个点 Solution 对每个节点$x$动态开权值线段树, 表示从$x$到根节点路径上权值出现的次数。 查询时差分即可: $sum[x]+sum[y]-sum[lca]-sum[f[lca]]$ 阅读全文

posted @ 2018-09-10 17:21 cychester 阅读(195) 评论(0) 推荐(0)

导航