hdu 1394 暴力
来源:互联网 发布:sql 数据库置疑 编辑:程序博客网 时间:2024/05/19 06:15
题意如下:
第一行输入一个n
第二行就是 0 1 2 3 4 .......n-1这n个数构成一个初始队列,那么这个初始队列就会有个逆序对数~
逆序对的定义如下:The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i < j and ai > aj.
然后每次将队首元素移到队尾构成一个新队列~~~同样这个队列也有逆序对数,
要求最小的逆序对数。。
我们可以先求出最开始的逆序对数,之后的就可以递推出来~~~
我们可以观察出来,假设 有 a[0] a[1] a[2] a[3] a[4]......a[n-1]
其逆序对数为 sum 。 当吧a[0]移到队尾后 , 会减少a[0]个逆序对 同时会增加 (n-1)-a[0]个逆序对。。
附上代码:
#include <iostream>
using namespace std;
int a[5100];
int main()
{
int n;
while(cin>>n)
{
int sum=0,ans=0;
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
{
if(a[j]<a[i])
sum++;
}
ans=sum;
for(int i=0;i<n;i++)
{
sum=sum+n-1-2*a[i];
if(sum<ans)ans=sum;
}
cout<<ans<<endl;
}
return 0;
}
- hdu 1394 暴力
- hdu 1394 暴力法
- Hdu 1394 求逆序对 【暴力AC】
- 【字符串暴力】hdu 2847
- HDU **** 暴力模拟
- HDU-1128 暴力搜索
- hdu 2438 暴力吧
- HDU 4175 暴力求解
- hdu 3332 暴力枚举
- HDU 3823 暴力枚举
- hdu 4608 暴力大数
- hdu 1702 暴力
- hdu 4585 shaolin (暴力)
- HDU 4576 Robot (暴力)
- hdu 3711 暴力
- HDU 3697 暴力贪心
- hdu 4499 Cannon(暴力)
- hdu 3720 暴力枚举
- c语言字符串 数字转换函数大全(转载)
- poj 2663 压缩DP
- 伸展树
- FPGA机器学习之stanford机器学习第十六堂
- boa服务器及cgic库的安装及使用
- hdu 1394 暴力
- 在海思3511上面实现wifi模块变成ap站点功能+wifi rt3070驱动的移植
- (未完成)matlab--矩阵运算技巧
- 需要手工register logfile的情况
- TQ210_裸机编程(三)——串口通信
- 第三章 数据预处理
- 黑马程序员之java多线程2
- ACM1、百度语言翻译机
- Android开发中尽量避免使用jpg图片