杭电ACM1394——Minimum Inversion Number
来源:互联网 发布:qq会员永久软件 编辑:程序博客网 时间:2024/06/07 02:30
题目的意思:给你一个数组,求最小的Inversion Number。所谓的Inversion Number是 数组中 i < j && a[ i ] > a[ j ] 的对数。数组可以滚动,也就是相当于环状的,每一个数都可以当作起始位置。
这题,暴力可以直接过,接近300MS。
下面的是AC的代码:
#include <iostream>#include <cstring>using namespace std;int D[5005];int main(){int n, i, j, ans, res;while(cin >> n){res = 0;for(i = 0; i < n; i++)cin >> D[i];for(i = 0; i < n - 1; i++){ans = 0;for(j = i + 1; j < n; j++){if(D[i] > D[j])ans++;}res += ans;} //算出一开始的数组的最小的Inversion Number数。int min = res;for(i = 0; i < n; i++){res = res - D[i] + (n - 1) - D[i]; //因为数组中的数是0~n - 1的。if(min > res) //所以将第一个放在数组末,Inversion Number的个数就是min = res; //相当于减掉D【i】(有D【i】个比它本身大的数),} //同理加上(n-1)-D【i】cout << min << endl;}return 0;}
1 0
- 杭电ACM1394——Minimum Inversion Number
- 杭电1394-Minimum Inversion Number
- 杭电hdu 1394 Minimum Inversion Number 线段树练习
- HDU--杭电--Minimum Inversion Number--线段树--基础
- hdu 1394——Minimum Inversion Number
- hdu1394——Minimum Inversion Number
- hdu(1394)——Minimum Inversion Number
- 【hdu1394】Minimum Inversion Number——逆序对
- 【线段树 + 详细注释 + 有难度】杭电 hdu 1394 Minimum Inversion Number
- 杭电1394 Minimum Inversion Number(线段树+归并排序解法)
- 杭电 HDU ACM 1394 Minimum Inversion Number (线段树 逆序数)
- Minimum Inversion Number 行电1394 线段树
- HDUOJ Minimum Inversion Number
- hdu1394 Minimum Inversion Number
- hdu1394 Minimum Inversion Number
- hdu1394 Minimum Inversion Number
- Minimum Inversion Number
- HDU1394:Minimum Inversion Number
- ZOJ2562
- 机器视觉开源代码集合
- HTML与CSS_基础 翁恺 笔记(2015.8.10更新)
- ContentProvider简结
- 学习JavaBean 遇到的问题
- 杭电ACM1394——Minimum Inversion Number
- leetcode 83: Remove Duplicates from Sorted List
- [c]sdnuoj1116 AC自动机
- Python requests库解析中文网页乱码处理方法
- 如何控制通达OA的工作流表单列表控件的列输入框
- CGI和CLI两种模式运行PHP的区别
- 频域低通滤波器(数字图像处理与机器视觉P210-P220)
- Java基础——GUI概述
- Block 原理详解