对于n个数,可以做k次移动,每次移动可以互换相邻位置的两个数,问最少 number of pair (i,j) where 1≤ii>aj.
如果不移动的话,ans=’n个数的逆序对数‘,移动k次会减少k个
归并排序求逆序对数:
#include "stdio.h"
#include "string.h"
#include "math.h"
int b[100010],a[1...
分类:
其他好文 时间:
2014-08-06 14:53:51
阅读次数:
211
http://poj.org/problem?id=2299
给出n个数,每次只能交换两个相邻的数,问使得n个数有序最少需要交换多少次。
归并排序的模板,重在理解,小白书p144.
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-08-06 10:38:41
阅读次数:
234
Inversion
Time Limit: 2000/1000 MS (Java/Others) Memory Limit:
131072/131072 K (Java/Others)
Problem Description
...
分类:
其他好文 时间:
2014-08-06 10:38:01
阅读次数:
211
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
HDU 4911 Inversion
题意:n个数字 通过k次相邻交换 使得逆序对数最少
思路:如果序列为 XXXABYYY 假设A和B位置互换 易知X和AB、Y和AB的逆序对数不变 换句话说一次交换最多使逆序对减少1 那么只需要求原逆序对数和k进行比较即可
HDU 4915 Parenthese sequence
题意:?可以代表(或) 那么输入的字符串能构造出几种合法的括号序列呢 输出无解、唯一解、多解
思路:这题是我YY的… 首先我们可以计算出(和)应该填几个 如果计算出?不满足我...
分类:
其他好文 时间:
2014-08-05 22:48:20
阅读次数:
289