Little Pony and Boast Busters
Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 83 Accepted Submission(s): 32
Problem Description...
分类:
其他好文 时间:
2014-09-05 10:08:51
阅读次数:
264
3295: [Cqoi2011]动态逆序对
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 861 Solved: 287
[Submit][Status]
Description
对于序列A,它的逆序对数定义为满足ij,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元...
分类:
其他好文 时间:
2014-09-02 20:01:45
阅读次数:
190
题意:一个由n个非负整数组成的序列,问进行最多k次相邻交换后最少的逆序对数 (1 ≤ n ≤ 10^5, 0 ≤ k ≤ 10^9, 0 ≤ ai ≤ 10^9)。。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911
——>>每次只能交换相邻的两个数,每次交换,只改变这两个数的逆序,其他的数对于这两个数的逆序没有改变,所以,求出所有的逆序对...
分类:
其他好文 时间:
2014-09-01 21:15:35
阅读次数:
191
题目链接:
huangjing
这个题目暴力和线段树都可以过,但是都需要掌握一个规律。。
当队首元素移到队尾后,可定会减少a[i]个逆序对,然后增加n-1-a[i]个逆序对。
你看比如1移到队尾,那么1>0这个逆序对就会减少,2>1,3>1,4>1这些逆序对就会增加。。
所以发现这个规律就好做了。。
暴力做法就是直接那样模拟。。
线段树做法是首先建立一颗空树,然后插入之前...
分类:
其他好文 时间:
2014-09-01 10:50:13
阅读次数:
239
发现一个小小的 逆序数里真的藏了好多东西啊=-=解决这题 你需要知道一点...对于一串给定的数字 我随便写一串吧..index: 0 1 2 3 4value: 4 8 7 5 6 这时候 总的逆序对数是 3+2=5 假如我们只能进行相邻元素的交换 这最好情况是什么呢?那肯定就是...
分类:
其他好文 时间:
2014-08-26 17:12:06
阅读次数:
170
#include
#include
#include
using namespace std;
const int N = 101000;
int a[N];
struct Node
{
int l,r,num;
};
Node tree[4*N];
void build(int l,int r,int o)
{
tree[o].l=l,tree[o].r=r;
t...
分类:
其他好文 时间:
2014-08-19 11:03:14
阅读次数:
222
题目:codeforces 459D - Pashmak and Parmida's problem
题意:给出n个数ai...
分类:
其他好文 时间:
2014-08-19 10:59:14
阅读次数:
250
基本思想和线段树求解逆序数是一样的,前一篇《求逆序对 线段树版》也介绍过,先对输入数组离散,数组里的元素都不相同可以直接hash,存在相同的数话可以采用二分。
离散化后对于每个f[i],找到f[i]+1~ n中的个数,也就是到i这个位置,一共有多少比f[i]大的数,统计之后在将f[i]的位置上的数量加1。
这样一来统计的就是类似a[i]~n的和,可以想象成 把树状数组反过来统计,即统计的时候加...
分类:
其他好文 时间:
2014-08-18 16:30:22
阅读次数:
169
hdu1394 这题说的是给了一个序列计算这个序列的逆序对总共要进行n次 每次都将目前的第一个放到序列的最后一个位置然后 计算一次逆序对 这样我们只需要先求一次逆序对 然后接着每次都用F=F+(n-T[i]-1)+T[i] 求得下一个 就不需要每次都去算逆序对#include #include #i...
分类:
其他好文 时间:
2014-08-17 16:51:02
阅读次数:
230