线段树
文章平均质量分 90
pmt123456
这个作者很懒,什么都没留下…
展开
-
poj 2528(线段树+离散化)
题目链接Mayor's posters 如图,贴海报,后面的海报可以贴在前面的海报的上面,按给定的顺序在区间为(l,r)的位置去贴海报,问最后可以在表面看见的海报有多少张 给定的区间范围很大,为1 i 静态的话,直接用线段树进行区间更新,需要1000000个叶子节点,还没TLE就已经MLE了 但是海报的数目1 例如 1 4,2 6,9,12三张海报 1原创 2016-12-06 20:41:15 · 948 阅读 · 1 评论 -
hdu1166线段树(单点更新)
题目链接敌兵布阵 随便找一个blog都已经讲的够好了,直接上代码 #include #include using namespace std; const int maxn=50000; int n; struct node { int l,r; int sum; }segTree[maxn*4+5]; void push_up(int i) { segTree[原创 2016-11-26 07:38:54 · 251 阅读 · 0 评论 -
hdu1698线段树(区间更新)
题目链接just a hook 一个锁链,其组成成部分有三种材料,金银铜,分数为3、2、1,每次可以更换一段的材料,求最后的分数 钩子最多长100,000,操作最多有100,000次,肯定不能暴力-》线段树 延迟标记lazy:每个节点新增加一个标记lazy,每次要更新节点时,不更新到叶节点,记录这个节点是否进行了某种修改(这种修改操作会影响其子节点。 假设要更新的区间为【1,4】,原创 2016-11-26 08:19:49 · 485 阅读 · 0 评论 -
Poj1151线段树求面积并
简单模拟一下,如图三个矩形,分为将其上下底边由下至上标号为1,2...6,每扫到下底边,该底边所覆盖的范围cover+1,每扫描到下底边,其覆盖的范围cover-1 过程如下图 这样依次计算,当扫描到第n-1条边的时候就计算出来面积的并 其中还是要用到离散化的知识 代码 #include #include using namespace std;原创 2016-12-23 19:03:52 · 298 阅读 · 0 评论 -
hdu1255(线段树求面积交)
和Poj1151线段树求面积并的原理相同 不同的地方:至少覆盖一次one和至少覆盖两次two的更新 注意点: 1、由于没有push_down的操作,当父节点的cover==1,子节点的cover也等于1,则父节点的two要更新 当父节点的over==0,子节点的cove原创 2016-12-28 13:20:17 · 331 阅读 · 0 评论 -
hdu1394(暴力/线段树/归并排序求逆序对的个数)
题目链接:Minimum Inversion Number 题目大意原创 2017-02-18 00:08:15 · 1198 阅读 · 0 评论