hdu 4911 Inversion(求逆序数)...
分类:
其他好文 时间:
2014-08-06 10:34:51
阅读次数:
273
归并排序求逆序数,然后ans-k与0取一个最大值就可以了。
也可以用树状数组做,比赛的时候可能姿势不对,树状数组wa了、、
Inversion
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 578 Accept...
分类:
其他好文 时间:
2014-08-06 10:32:51
阅读次数:
224
poj 2299 Ultra-QuickSort(树状数组求逆序数+离散化)...
分类:
其他好文 时间:
2014-08-06 10:30:11
阅读次数:
172
求逆序数模板(树状数组+离散化 || 归并排序法)...
分类:
其他好文 时间:
2014-08-06 10:28:52
阅读次数:
218
HDU 1394 Minimum Inversion Number(线段树求最小逆序数对)
ACM
题目地址:HDU 1394 Minimum Inversion Number
题意:
给一个序列由[1,N]构成,可以通过旋转把第一个移动到最后一个。
问旋转后最小的逆序数对。
分析:
注意,序列是由[1,N]构成的,我们模拟下旋转,总的逆序数对会有规律的变化。 ...
分类:
其他好文 时间:
2014-08-06 01:56:10
阅读次数:
162
/** \brief poj2299
*
* \param date 2014/8/5
* \param state AC
* \return memory 4640K time 3250ms
*
*/
#include
#include
#include
#include
using namespace std;
const int MAXN=500000;
int Ar...
分类:
其他好文 时间:
2014-08-05 22:48:40
阅读次数:
313
题意:根据题目要求交换相邻的两个元素k次,使得最后剩下的逆序对数最少
思路:如果逆序数大于0,存在0
利用归并排序计算逆序对数。
#include
#include
#include
using namespace std;
const int MAXN = 1000005;
int arr[MAXN], b[MAXN];
int n, k;
long long...
分类:
其他好文 时间:
2014-08-05 22:48:10
阅读次数:
264
HDU 4911 Inversion
考点:归并排序
思路:这题呀比赛的时候忘了知道可以用归并排序算出逆序数,但是忘了归并排序的实质了,然后不会做……
因为看到题上说是相邻的两个数才能交换的时候,感觉归并排序好像不是得要相邻的呀,然后就这样晕……刚才重新看了才发现,归并就是相邻的交换的,正好是用来求逆序数的,唉……真的是做这个归并排序比赛就来了……真好!
#include
#inclu...
分类:
其他好文 时间:
2014-08-05 22:32:50
阅读次数:
264
题目链接题意 : 给你一个数列,可以随意交换两相邻元素,交换次数不超过k次,让你找出i aj的(i,j)的对数最小是多少对。思路 : 一开始想的很多,各种都想了,后来终于想出来这根本就是求逆序数嘛,可以用归并排序,也可以用树状数组,不过我们用树状数组做错了,也不知道为什么。求出逆序数来再减掉k次,....
分类:
其他好文 时间:
2014-08-05 22:02:20
阅读次数:
210
显然每次交换都能减少1
所以求出逆序数对数,然后-=k就好了。。。
_(:зゝ∠)_
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define N 100005
#define ll long long
ll c[N+100000], maxn;
inlin...
分类:
其他好文 时间:
2014-08-05 19:25:20
阅读次数:
213