您的位置:首页 > 其它

hdu 1394 Minimum Inversion Number

2012-07-14 00:03 316 查看
求最少逆序是多少,推荐用线段树,但暴力也能过,我用的方法两者皆非。我只是用暴力求第一种排列的逆序数,剩下的用小技巧推出。

#include <iostream>
using namespace std;
int a[5010];
int main()
{
int n,i,j,ans,min;
while(cin>>n)
{
for(i = 0; i < n; i++)
cin>>a[i];
ans = 0;
for(i = 0; i < n-1; i++)
for(j = i+1; j < n; j++)
if(a[j] < a[i])
ans++;
min = ans;
for(i = 0; i < n-1; i++)
{
ans = ans+n-1-2*a[i];
if(ans < min) min = ans;
}
cout<<min<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: