随笔分类 -  线段树

摘要:https://zhuanlan.zhihu.com/p/84236967 https://www.cnblogs.com/TinyWong/p/11260601.html 一个月过去了,我还是没有学动态点分治... 欧拉序保存了每个节点进入和返回的情况,$n$ 个结点的树,欧拉序列长度为 $2n 阅读全文
posted @ 2019-10-13 00:13 Mrzdtz220 阅读(925) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/1114/F 题意:序列$a$,有两种操作,1 区间里的数同时乘上$x$ 2 求区间的积的欧拉函数 线段树好题。 思路:最直观的思路是,线段树每个节点维护的是一个数组,表示这个数每个素因子及出现的次数,欧拉函 阅读全文
posted @ 2019-07-21 21:28 Mrzdtz220 阅读(200) 评论(0) 推荐(0)
摘要:自己写了一个带结构体的WA了7.8次 但是测了几组小数据都对。。感觉问题应该出在模运算那里。写完这波题解去对拍一下。 以后线段树绝不写struct!一般的struct都带上l,r 但是一条线段的长度确定的话,每一个节点的l,r都可以确定的,没必要用struct存上,如果不带上l,r那不是更没必要用结 阅读全文
posted @ 2019-03-06 10:27 Mrzdtz220 阅读(145) 评论(0) 推荐(0)
摘要:emmmmmmmm我菜爆了 思路来自:https://blog.csdn.net/chudongfang2015/article/details/52133243 线段树最难的应该就是要维护什么东西 这道题刚开始1~n都是连通的 D x 即破坏x这个地方 Q x 即查询包含x的连续区间有多长 R 即 阅读全文
posted @ 2019-03-03 11:07 Mrzdtz220 阅读(393) 评论(0) 推荐(0)
摘要:这道题最关键的点就在离散化吧。 假如有三张海报[1, 10] [10, 13][15, 20] 仅仅三个区间就得占用到20了。 但是离散化后就可以是[1, 2] [2, 3] [4, 5] n到1e4 不重叠的话最大也只到2e4 那么就可以做了 离散化技巧需要好好消化 代码如下 #include < 阅读全文
posted @ 2019-03-01 22:05 Mrzdtz220 阅读(116) 评论(0) 推荐(0)
摘要:最基本的线段树的区间更新及查询和 用tag(lazy)数组来“延缓”更新,查询或添加操作必须进行pushdown操作,即把tag从p传到lp和rp并清楚tag[p],既然得往lp和rp递归,那么就可以“顺便”往下传 pushdown操作代码 inline void pushdown(int p, i 阅读全文
posted @ 2019-03-01 21:55 Mrzdtz220 阅读(197) 评论(0) 推荐(0)