1.http://acm.hdu.edu.cn/showproblem.php?pid=5112 2.http://acm.hdu.edu.cn/showproblem.php?pid=5122 一开始一看到以为求逆序来搞,一看题就写了个数状数组,nlogn超时了。当然一定是太性急了,这个题其实就是 ...
分类:
其他好文 时间:
2016-08-10 17:34:09
阅读次数:
182
Given a list of N integers A1, A2, A3,...AN, there's a famous problem to count the number of inversions in it. An inversion is defined as a pair of in ...
分类:
编程语言 时间:
2016-05-01 23:14:11
阅读次数:
530
Minimum Inversion NumberTime Limit:1000MSMemory Limit:32768KB64bit IO Format:%I64d & %I64uSubmitStatusPracticeHDU 1394DescriptionThe inversion number ...
分类:
编程语言 时间:
2015-08-19 23:06:52
阅读次数:
226
题意: 东海岸有x个城市,西海岸有y个。x与y 之间有很多高速公路。问k条路有多少个交叉点。
我就是求的逆序对,把east当作 pos 按照从大到小排序。然后插入。接下来的就跟求逆序对的一样了。
线段树或者数状数组都能过。
注意最后要用long long。
(午夜一发,写完吃个面包睡觉。
#include
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2015-02-17 02:07:41
阅读次数:
218
题意:计算星星的等级。
星星的等级是由有多少 x 坐标小于它并且 y 坐标也小于它的星星的数量决定的。
由于输入已经是按照 先y从小到大,再x从小到大的顺序排列好了的。
所以 只需要按输入顺序插入,然后统计比当前x小的有多少个即可。
只需要一个logn的修改和查询的数据结构就可以了。
以前用数状数组写过,现在再补一个线段树的。
线段树:
#include
#inclu...
分类:
其他好文 时间:
2015-02-16 18:27:32
阅读次数:
161
http://acm.hdu.edu.cn/showproblem.php?pid=5122题意:就是经过几个回合可以使得序列变成有序的,求回合数。思路:数状数组。倒着插入,每次求和,判断在这个数前面是不是有数,只要有数就ans++;最后插入完,ans就是答案。 1 #include 2 #inc....
分类:
其他好文 时间:
2015-01-15 15:45:25
阅读次数:
151
求逆序对个数。
暴力 n^2 TLE妥妥的。要么 归并排序的时候统计,要么线段树或者数状数组优化。
时间复杂度都是 n*logn
线段树求逆序数怎么写呢。
例如样例的
9 1 0 5 4
其位置pos 为
0 1 2 3 4
再来一个数组设为
0 0 0 0 0
线段树先插入 (9,0),把插入的位置 0 变成 1。
1 0 0 0 0
然后统...
分类:
其他好文 时间:
2015-01-13 12:34:11
阅读次数:
189
线段树解决,类似的,数状数组也行。
点修改,区间查询 都是 logn 的复杂度。
没有使用自底向上的ZKW线段树写法,就普通的递归线段树。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#defi...
分类:
其他好文 时间:
2015-01-11 21:45:23
阅读次数:
269
数状数组哭了:我本来是搞区间和的,怎么被用来搞rmq了T^T。。。...
分类:
编程语言 时间:
2014-12-22 14:32:52
阅读次数:
199
UVA1513 - Movie collection
题目链接
题目大意:给你一叠DV,编号1到n,1在最上面,n在最下面。然后现在给你m个操作,每次都指定一张CD,问要拿走这个CD需要挪走上面多少张CD,并且这个要拿走的CD放在这个叠CD的顶端。
解题思路:将这些CD的上面有多少张CD用数状数组来存储,但是每次要移动的话就有点难办,所以每次移动就将这张CD的pos更新一下,将之...
分类:
其他好文 时间:
2014-10-08 12:43:55
阅读次数:
149