线段树|树状数组
浪子小黄人
这个作者很懒,什么都没留下…
展开
-
Cf Round #104 (Div. 1) E Lucky Queries 线段树
题意:给出‘4’和‘7’组成的序列,进行两种操作,switch l r表示l~r之间的序列‘4’变成‘7’,‘7’变成‘4’,count询问整个序列的最长不下降子序列的长度。原创 2014-11-08 20:09:49 · 967 阅读 · 0 评论 -
1090. In the Army Now (Ural 1090 归并排序||树状数组)
题意:k行n列,求出每一列的逆序对,输出逆序对最少的所在的行数。思路:采用归并排序或者树状数组,这两天写了好几道了,要练熟悉!原创 2015-04-01 12:20:20 · 687 阅读 · 0 评论 -
Ultra-QuickSort (poj 2299 归并排序 || 树状数组 求逆序对)
题意:求n个数的逆序对。原创 2015-03-31 23:02:52 · 668 阅读 · 0 评论 -
Inversion (hdu 4911 树状数组 || 归并排序 求逆序对)
题意:求n个数的逆序对数,可以交换k次相邻的,所以求出原序列的逆序对后减去k即可。思路:求逆序对有两种方法,归并排序和树状数组。逆序对的几种求法原创 2015-03-31 20:52:18 · 713 阅读 · 0 评论 -
K-th Number (poj 2104 线段树+二分)
题意:给定一个数组a1,a2,a3.....an和m个三元组表示的查询。对于每个查询(i,j,k),输出ai,ai+1,.....,aj的升序排列中第k个数。思路:和以前做的线段树有点不同,这次每个点保存了一个数组。建立线段树的过程和归并排序类似,而每个节点的数列就是其两个儿子节点的数列合并后的结果。原创 2015-03-26 22:53:00 · 710 阅读 · 0 评论 -
Stars (poj 2352 树状数组)
题意:有n个星星的坐标,如果某个星星坐标为(x, y), 它的左下位置为:(x0,y0),x0<=x 且y0<=y。如果左下位置有a个星星,就表示这个星星属于level x按照y递增,如果y相同则x递增的顺序给出n个星星,求出所有level水平的数量。思路:最典型的树状数组,第一次做。。原创 2015-03-26 20:56:40 · 763 阅读 · 0 评论 -
Count the Colors (zoj 1610 线段树 区间颜色覆盖)
题意:在一条线段上画颜色,画n次,每次使x1到 x2区间颜色变为 c。求表面上能看到的颜色种类和该颜色的段数。原创 2015-02-17 14:37:09 · 1083 阅读 · 0 评论 -
D. R2D2 and Droid Army 线段树+二分 Codeforces Round #291 (Div. 2)
题意:n个机器人,每个机器人有m个值,你有k次射击机会,每一次射击可以使所有机器人的某一个值减少1,一个机器人的m个值全为0时视为该机器人被摧毁了,问在能破坏的最大的机器人数目下(机器人要连续),m个值分别对应的射击次数。思路:先构造线段树方便以后查询区间最大值,二分能破坏的数目即可。二分判断时枚举起点,看在区间长度为mid的情况下能否用k次射击使这mid个机器人被破坏,能则说明mid可以进一步扩大(实际最大区间长度在mid右边,令l=mid+1)返回true,否则返回false(在左边,令r=mid-1原创 2015-02-15 23:24:42 · 983 阅读 · 2 评论 -
Buy Tickets poj 2828
Language:DefaultBuy TicketsTime Limit: 4000MS Memory Limit: 65536KTotal Submissions: 13926 Accepted: 6969DescriptionRailway tickets were difficult to buy ar原创 2014-11-04 22:53:10 · 772 阅读 · 0 评论 -
Segment Game (hdu 5372 树状数组+离散化)
题意:两种操作,添加线段和删除线段,第i次添加时告诉线段起点并且要添加长度为i的线段,删除第i次添加的线段,问每次添加后有多少线段是落在当前要画的线段内部的。思路:因为每次画的线段的长度是递增的,所以当前画的线段不可能被其他线段包含,那么统计小于左端点的点的个数x和小于等于右端点的点的个数y,ans=y-x。分别用树状数组维护,没写过树状数组了,都忘了,又复习了一下。原创 2015-08-12 10:57:14 · 731 阅读 · 0 评论