
ACM_线段树|树状数组
文章平均质量分 80
angle555945
这个作者很懒,什么都没留下…
展开
-
长春赛区2012 A Simple Problem with Integers 1001题 (网络赛)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4267 线段树,注意k很小,更新优化。//STATUS:C++_AC_218MS_3904KB #include#include#include#include#include#include#includeusing namespace std;const int MAX原创 2012-09-08 23:00:17 · 812 阅读 · 0 评论 -
POJ-3225 Help with Intervals 线段树
题目链接:http://poj.org/problem?id=3225 题意:给你一些区间和操作,问你最后有哪些区间。 很容易把操作化简,0,1表示是否包含区间,-1表示该区间内既有包含又有不包含: U:把区间[l,r]覆盖成1 I:把原创 2012-10-06 23:05:53 · 910 阅读 · 0 评论 -
HUD-3308 LCIS 线段树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3308 题意:给一数列,然后两种操作,更新其中的某个值和询问某个区间的最长连续升序列。 线段树保存3个值,当前区间[a,b]从a开始的最长连续升序列,最长连续升序列和以b结束的最长连续升序列。线段树询问的时候要处理好,我的是从区间做端点开始,然后依次扫描过去比较,如果原创 2012-10-06 23:43:55 · 976 阅读 · 0 评论 -
POJ-3486 A Simple Problem with Integers 线段树
题目链接:http://poj.org/problem?id=3468 题意:给你一数列,进行两种操作。C a b c:对[a,b]的每个数加上数值c;Q a b:询问[a,b]区间的和。 这里需要用到延迟标记操作(懒惰操作),线段树每个区间保存这个区间的未完全更新和sum以及加上去的数值c。向下更新时,如果当前区间c > 0,则向下传递c值,即延迟更新。原创 2012-10-06 22:44:20 · 1104 阅读 · 0 评论 -
POJ-1436 orizontally Visible Segments 线段树
题目链接:http://poj.org/problem?id=1436 题意:有若干线段垂直于x轴,如果其中任意两条线段能用一平行于x轴的线段与之相交,并且与其它线段没有交点,我们就说这两条线段水平可见。如果有三条线段,其中任意的两条满足水平可见性,那么他们就能组成一个三角形。求在给定的线段中,有多少个这样的三角形。 首先要求那些线段满足水平可见性,显然是一个线段原创 2012-10-06 23:31:34 · 938 阅读 · 0 评论 -
POJ-2528 Mayor's posters 线段树
题目链接:http://poj.org/problem?id=2528 题意:就是在一面墙上贴海报,问最后能看见多上张海报。 这个区间染色,不用多说了。。。 My code(代码还是以前的老风格= =)://STATUS:C++_AC_313MS_20728KB #include#includeconst int MAX1=10000原创 2012-10-06 22:50:33 · 1257 阅读 · 0 评论 -
POJ-2828 Buy Tickets 线段树
题目链接:http://poj.org/problem?id=2828 题意:hint说的很清楚了。。。 如果直接模拟的话肯定会超时。但是我们注意到,从后面开始找位置就可以依次确定,那么接下来就是线段树统计区间还没决定好的数了。 My code://STATUS:C++_AC_1500MS_5648KB #include#include#inclu原创 2012-10-05 15:44:42 · 762 阅读 · 0 评论 -
HDU-1394 Minimum Inversion Number 线段树|树状数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394 题意:给你一个数列,求在这个数列的所有循环数列中,逆序对数最少的一组的个数。 这里主要是求当i My code: 树状数组版://STATUS:C++_AC_31MS_272KB #include#incl原创 2012-10-05 14:58:45 · 703 阅读 · 0 评论 -
HDU-1754 I Hate It 线段树|树状数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754 线段树,简单的单点更新处理,树状数组搞搞更方便。我觉得开始学习线段树,主要是学学其线段树的表现方式,一般的想我的代码中的那种处理方式就很方便了,刚开始学的时候,我是在每个区间里面记录每个区间的left和right,后来发现是多余的,因为递归的时候传递下去的l和r可以代替,新手最好原创 2012-10-05 13:43:44 · 883 阅读 · 0 评论 -
HDU-1698 Just a Hook 线段树染色
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 线段树典型的染色操作 My code://STATUS:C++_AC_359MS_3328KB #include#include#include#include#includeusing namespace std;#define LL __int64原创 2012-10-05 16:16:44 · 558 阅读 · 0 评论 -
POJ-2886 Who Gets the Most Candies? 线段树|树状数组
题目链接:http://poj.org/problem?id=2886 题意:一群孩子围成一个圈(顺时针),每个孩子手上有一个号码,+A代表他左边的第A个孩子,-A代表他右边的第A个孩子。从第K个孩子开始,依次去掉第K+Ak个孩子,如果那个孩子是第p个去除的,那么他可以得到p所有约数的个数个糖果,求哪个孩子能得到最多的糖果数。 先用筛选法求出约数个数,然后用线段树的原创 2012-10-05 16:11:27 · 675 阅读 · 0 评论 -
HDU-2795 Billboard 线段树|树状数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题意:给你一块h*w的板报,然后依次给你一些1*w的海报,每个海报优先放在顶端,询问每个海报的位置。 线段树的单点更新,记录每段的最长长度即可,然后询问优先顶端。 My code: //STATUS:C++_AC_2234MS_2300原创 2012-10-05 15:28:37 · 863 阅读 · 0 评论 -
HDU-1166 敌兵布阵 线段树|树状数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意很简单~略 思路:纯粹的单点更新,线段树的入门题,当然,树状数组也很方便。 My code: 线段树版://STATUS:C++_AC_171MS_956KB #include#include#inclu原创 2012-10-05 13:29:35 · 769 阅读 · 0 评论 -
HUD-4419 Colourful Rectangle 线段树+扫描线+离散
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4419 题意:分别用R,G,B三种颜色覆盖一平面区域,不同的颜色重合会产生不同的颜色:RG,RB,BG,RGB,求最后每种颜色的面积。 矩形面积并,扫描线的加强版。线段树记录分别7重颜色的的长度,然后记录每种颜色覆盖的次数。 My code://STATUS:C++原创 2012-10-08 15:33:21 · 946 阅读 · 0 评论