随笔分类 -  数据结构

摘要:题意见试题传送门 解题思路:显然是题树剖题。 考虑用线段树维护区间端点颜色与颜色数,这样就可以方便的合并,注意查询的时候对端点的特殊处理即可。 时间效率最高为\( O (m \log^{2} n) \).(BZOJ 上 4072ms) 阅读全文
posted @ 2017-04-28 09:09 Melacau 阅读(257) 评论(0) 推荐(0)
摘要:原题传送门 题意: 给你一棵树,有2种操作: 1.使得某个点到根节点路径上的所有点权值赋为1。 2.使得某节点的子树中所有节点权值赋为0. 每次操作要求输出权值更改的节点个数。 解题思路: 显然是用树剖来解决问题,考虑用区间赋值的线段树维护区间内1的个数,然后直接按题意树剖求解即可。 操作1的时间效 阅读全文
posted @ 2017-04-26 11:00 Melacau 阅读(231) 评论(0) 推荐(0)
摘要:题目请自行查阅传送门。 典型的树剖题,线段树维护操作,记一下子树在线段树内范围即可。 时间复杂度:\( O(m \log^{2} n) \) 阅读全文
posted @ 2017-04-26 09:23 Melacau 阅读(165) 评论(0) 推荐(0)
摘要:接着找树剖的题。。。传送门(点我) 题意:给你一棵无根树,有三种操作:查询树上2点路径的点权和/最大点权;更改某点的点权。 解题思路:树链剖分裸题,我采用了常数较小的zkw线段树维护剖下来的树(毕竟线段树常数太大很危险),然后就是树剖的东西解决即可。 时间复杂度:期望:\( O(n \log \lo 阅读全文
posted @ 2017-04-25 16:50 Melacau 阅读(281) 评论(0) 推荐(0)
摘要:省选被暴虐,成功爆0。。。顺便ditoly差点全省总分Rank1 orz..... 于是开始赶进度学新算法。。。。 然后决定开始学习树剖orz。。。 发现树剖很好用啊!!!! 然后做了模板题。 题目就是给你一棵树,然后每次操作是查询或者增加一条树上2点路径/子树的值。 解题思路:都说了是树剖模板题, 阅读全文
posted @ 2017-04-25 10:49 Melacau 阅读(198) 评论(0) 推荐(0)
摘要:还是那个学弟@lher出的丧题之一。 链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1798 题意简析:就是题目啊。。。 解题思路:显然是线段树啊。。。根据乘法分配律处理一下区间乘法操作,其他就是简单的区间加法查询,很水吧owo。时间效率\(O 阅读全文
posted @ 2017-03-18 21:16 Melacau 阅读(249) 评论(0) 推荐(0)
摘要:问题来源:IOI1998 D2T1 题意:就是在一个平面内给出n个矩形,叫你计算将这些矩形合并以后,新图形的周长。 例如: 上图是原本的矩形们 >合并后的图形 解题思路:拿一条扫描线横着扫一次,遇到左边的边就在这条扫描线上+1,遇到右边的边就在这条扫描线上-1,在边被扫到的时候计算一下线上为0的个数 阅读全文
posted @ 2017-03-06 09:25 Melacau 阅读(894) 评论(0) 推荐(0)
摘要:众所周知,线段树是OI当中十分重要的一个数据结构,所以我们今天就来讲一讲这个线段树。 阅读全文
posted @ 2017-02-27 10:39 Melacau 阅读(316) 评论(0) 推荐(0)