1.题目描述:点击打开链接
2.解题思路:本题要求找出经过若干次交换后的数组中逆序对的个数。可以利用树状数组(BIT)解决。计数时可以分为两部分来分别统计。第一部分是统计位置i右边的所有不在原位置的元素中,小于rk[i]的个数。注意:这一部分统计的都是位置发生过变动的元素。第二部分统计位置i右边中仍在原位置的元素中,小于rk[i]的个数。接下来我们考虑如何快速求解这两部分的个数。
第一部分:因...
分类:
其他好文 时间:
2015-05-01 17:28:42
阅读次数:
115
题目描述Description猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i#include#...
分类:
其他好文 时间:
2015-05-01 17:16:42
阅读次数:
144
引言 一开始接触到这题还觉得挺有意思的,但后来发现其深层次的含义就是一个归并排序,只是在归并排序的过程中做了一点小动作而已,这也再次证明了很多东西都是万变不离其宗的 本文首先讲了一下归并排序的过程,用了自己比较喜欢的简洁的方式,然后对比归并排序与求逆序对之间的关系,发现需要稍微修改一下合并两个已排序...
分类:
其他好文 时间:
2015-04-30 15:54:56
阅读次数:
193
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911题目大意:最多可以交换K次,就最小逆序对数解题思路:逆序数定理,当逆序对数大于0时,若akright[j]出现逆序情况时,cnt+=(leftnum-i),即当前right[j]元素和left[i]...
分类:
编程语言 时间:
2015-04-29 11:33:09
阅读次数:
159
题目大意: 就是说,给你一个序列,然后让你求出这个序列有多少个逆序对,所谓逆序对就是对于这个序列中的元素有a[i]>a[j] 且i 时间复杂度还是O(NlogN).最后总的还是O(NlogN).代码: 1 # include 2 # include 3 # include 4 # includ...
分类:
编程语言 时间:
2015-04-26 01:19:05
阅读次数:
197
今天考了个逗比的省选QAQ 第一题是个傻逼逆序对,随便离散化一下,坑点应该是$n\leq 5*10^5$,所以ans得开longlong吧 第二题是《交错匹配》好像在哪里见过的样子……完全不会做QAQ连暴力都打不出来,只好骗了骗全是【X】型匹配的分数(期望得分:0) 第三题多次询问两点间路...
分类:
其他好文 时间:
2015-04-25 22:24:09
阅读次数:
187
思路题 考试结束前5、6min的时候想到……但是写挂了QAQ 其实就是(差值最大的逆序对之差+1)/2; 找逆序对其实维护一个max直接往过扫就可以了……因为逆序对是前面的数大于后面的数…… 正确性显然?就是蛮显然的啊= = 1 /******************************...
分类:
其他好文 时间:
2015-04-22 20:32:22
阅读次数:
168
解题思路:
实质是排序后求逆序对
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long long
using namespace std;
const int MAXN = 100000 + 10;...
分类:
其他好文 时间:
2015-04-22 18:26:11
阅读次数:
133
传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=312试题描述:给你一个大小为N的int数组A。请你统计有多少数对(Ai,Aj)满足iAj并输出。输入:第一行为N,表示数组A的大小。第二行为N个数Ai,两两之间用一个空格分隔。...
分类:
其他好文 时间:
2015-04-21 22:02:16
阅读次数:
190