Atlantis
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8998 Accepted Submission(s): 3856
Problem Description
There are several...
分类:
其他好文 时间:
2015-08-13 23:46:04
阅读次数:
275
【题目链接】:click here~~
【题目大意】:
题意:两种操作,添加线段和删除线段,第i次添加时告诉线段起点并且要添加长度为i的线段,删除第i次添加的线段,问每次添加后有多少线段是落在当前要画的线段内部的。
【思路】:比赛的时候居然直接无视了这道题,赛后看了一下,感觉要用到树状数组,有一种前后互相影响的样子,昨天想了一下午,加上昨天晚上,总算是搞明白了,因为每次画的线段的...
分类:
编程语言 时间:
2015-08-13 12:19:09
阅读次数:
151
对y坐标离散化, 然后按x坐标排序, dp. 一个点(x, y), 设到达这个点接到的最多乘客数为t, 那么t可以用来更新y'>=y的所有点.用树状数组维护最大值.--------------------------------------------------------------------...
分类:
其他好文 时间:
2015-08-13 01:02:20
阅读次数:
134
因为这题的线段长度是递增的....所以:
题解:对于新插入的线段,查询有多少个线段左端点大于等于该线段的左端点。 再查询有多少个线段的右端点大于该线段右端点, 两者之差就是答案。用两个树状数组搞定。时间复杂度nlog
Segment Game
Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536...
分类:
编程语言 时间:
2015-08-12 23:44:15
阅读次数:
186
http://acm.hdu.edu.cn/showproblem.php?pid=5233/*用map和set进行离散化,离散化就是对于大数据进行重新编号*//************************************************* Author :Powa...
分类:
其他好文 时间:
2015-08-12 21:13:53
阅读次数:
126
树状数组,具体的说是 离散化+树状数组。这也是学习树状数组的第一题.
算法的大体流程就是:
1.先对输入的数组离散化,使得各个元素比较接近,而不是离散的,
2.接着,运用树状数组的标准操作来累计数组的逆序数。
算法详细解释:
1.解释为什么要有离散的这么一个过程?
刚开始以为999.999.999这么一个数字,对于int存储类型来说是足够了。...
分类:
编程语言 时间:
2015-08-12 19:29:01
阅读次数:
136
题意:
有两种操作:
1. 插入一个线段
2. 删除一个已存在的线段
每次插入后输出当前插入的线段能完整覆盖存在的几条线段。
解析:
线段树上面维护的是两个值,左端点的和,右端点的和
每次插入一条区间[L, R]就,
先询问 [0, R] 的右端点个数 lsum
再询问[L, INF]的左端点的个数 rsum
tot表示:当前线段还有几条...
分类:
其他好文 时间:
2015-08-12 19:21:34
阅读次数:
126
http://poj.org/problem?id=2528题目大意是市长竞选要贴海报,给出墙的长度和依次张贴的海报的长度区间(参考题目给的图),问最后你能看见的海报有几张就是有的先贴的海报可能会被后贴的海报完全盖住,那就看不见了这里就非常抽象的区间更新,墙的长度为建立线段树的总区间,每贴一张海报代...
分类:
其他好文 时间:
2015-08-12 18:41:58
阅读次数:
143
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5372
题意:有两种操作,输入a b,①a==0,插入第i条线段[b,b+i],输出[b,b+i]内有多少条完全包含于[b,b+i]的线段②a==1,删除插入的第b条线段。
分析:由于插入的线段长度是递增的,那么就不存在包含[b,b+i]的线段。那么完全包含于[b,b+i]的线段的数目=右端点小于等于b...
分类:
编程语言 时间:
2015-08-12 14:46:05
阅读次数:
156
题意:两种操作,添加线段和删除线段,第i次添加时告诉线段起点并且要添加长度为i的线段,删除第i次添加的线段,问每次添加后有多少线段是落在当前要画的线段内部的。
思路:因为每次画的线段的长度是递增的,所以当前画的线段不可能被其他线段包含,那么统计小于左端点的点的个数x和小于等于右端点的点的个数y,ans=y-x。分别用树状数组维护,没写过树状数组了,都忘了,又复习了一下。...
分类:
编程语言 时间:
2015-08-12 11:36:48
阅读次数:
121