Hanks_o的博客

有权限号的bzoj蒟蒻用户

bzoj3531: [Sdoi2014]旅行(树链剖分+线段树)

题目传送门 。 解法: 据说叫动态开点。 需要用的点才建线段树。 那么最多只有二十万种不同的信息。。 跟主席树一样嘛。 YY就好了 代码实现: #include<cstdio> #include<cstring...

2018-04-22 16:27:30

阅读数 67

评论数 0

bzoj3626: [LNOI2014]LCA(离线处理+树链剖分)

题目传送门 。 解法: 对于任意一个询问: l r z 对于任意一个点来说。他对答案的贡献实际上是LCA(i,z)的深度。 也就是lca到根的点数。 那么我们可以每个点到根的路径都加1。然后询问下z到根的路径上的答案总和其实就是答案啊。 显然可以分成两个区间,一个1到l-1,一个1...

2018-03-20 16:11:38

阅读数 164

评论数 0

bzoj4551: [Tjoi2016&Heoi2016]树(树链剖分)

题目传送门 。 解法: 树剖套线段树。 维护区间最右标记。 代码实现: #include<cstdio> #include<cstring> #include<cstdli...

2018-03-12 19:52:27

阅读数 58

评论数 0

bzoj2157: 旅游(树链剖分)

题目传送门 呵呵呵。解法: 没学过树剖看这里 很水很水的树剖? 整段取反就打个lazy嘛。列举各种情况。 就会发现,取反时: 最大值等于原来最小值取反,最小值等于原来最大值取反。其他维护最大值最小值和就没什么了吧。代码实现:#include<cstdio> #include...

2018-01-03 13:26:34

阅读数 145

评论数 0

bzoj3631: [JLOI2014]松鼠的新家(树链剖分)

题目传送门 一道大水题。解法: 简单的树剖。 到这个点这个点就要加1。 线段树维护。 这题有一点点坑就是除了第一个点其他最后到的点都要少一颗糖果。 因为他去吃大餐了。代码实现:#include<cstdio> #include<cstring> #include...

2017-12-14 08:46:04

阅读数 162

评论数 0

bzoj4034: [HAOI2015]树上操作(树链剖分+线段树)

题目传送门 水经验。解法: 就写个树剖呗。 然后用线段树维护一下呗。 维护整一段的和。 打个懒标记。代码实现:#include<cstdio> #include<cstring> #include<cstdlib> #include<iostre...

2017-10-30 11:23:14

阅读数 202

评论数 0

bzoj2243: [SDOI2011]染色(树链剖分+线段树)

题目传送门 开心的我又看错了题目。一开始看成是一段序列了那直接上线段树不就完了呗。 打个懒标记。维护一下区间有多少种颜色以及边界都是什么颜色。 打完了代码又去看题。发现是在一棵树上。。 哦那就加个树剖呗。解法: 线段树维护四个特征值: 区间内有多少段颜色。 区间内颜色是否统一,统一的...

2017-10-23 10:46:31

阅读数 125

评论数 0

bzoj1103: [POI2007]大都市meg(树链剖分)

题目传送门 模板题吧。 没学过树链剖分看这里这道题大概也差不多。 因为这道题是维护边的权(是土路值为1,公路值为0) 求得就是某一个点到1的边权和。 那么我们要把边的值赋值到点上如何做呢? 就把每条边的权值赋值到下面的点上。 代码里面有详细解释。代码实现:#include<cs...

2017-09-27 13:39:04

阅读数 175

评论数 0

bzoj1036: [ZJOI2008]树的统计Count(树链剖分)

题目传送门 树链剖分模板吧。 不过用LCA好像也是可以的。(表示懒得用)树链剖分: dep[x]:表示x的深度,深度越大离根越远。 fa[x]:表示x的父亲节点。 tot[x]:表示以x为根的子树的家族数量。 son[x]:x的重儿子,选取家族数量最多的...

2017-09-16 10:12:42

阅读数 220

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭