POJ2299+逆序数
归并排序!!!!!!!!!!
/*
归并排序+求逆序数
*/
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
using namespace std;
typedef __int64 int64;
const int maxn = ;
int64 a[ maxn ],Sort[ maxn ];
int64 res; void init(){
res = ;
} void merge( int L,int R ){
int mid = (L+R)/;
int i = L;
int j = mid+;
int pos = L;
while( i<=mid&&j<=R ){
if( a[i]<a[j] )
Sort[ pos++ ] = a[i++];
else{
Sort[ pos++ ] = a[j++];
res += (mid-i+);
}
}
while( i<=mid )
Sort[ pos++ ] = a[i++];
while( j<=R )
Sort[ pos++ ] = a[j++];
for( int k=L;k<=R;k++ )
a[k] = Sort[k];
} void merge_sort( int L,int R ){
int mid = (L+R)/;
if( L<R ){
merge_sort( L,mid );
merge_sort( mid+,R );
merge( L,R );
}
return ;
} int main(){
int n;
while( scanf("%d",&n),n ){
for( int i=;i<=n;i++ )
scanf("%I64d",&a[i]);
init();
merge_sort( ,n );
printf("%I64d\n",res);
}
return ;
}
POJ2299+逆序数的更多相关文章
- poj2299解题报告(归并排序求逆序数)
POJ 2299,题目链接http://poj.org/problem?id=2299 题意: 给出长度为n的序列,每次只能交换相邻的两个元素,问至少要交换几次才使得该序列为递增序列. 思路: 其实就 ...
- POJ2299 Ultra-QuickSort(归并排序求逆序数)
归并排序求逆序数 Time Limit:7000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Descri ...
- 线段树求逆序数方法 HDU1394&&POJ2299
为什么线段树能够求逆序数? 给一个简单的序列 9 5 3 他的逆序数是3 首先要求一个逆序数有两种方式:能够从头開始往后找比当前元素小的值,也能够从后往前找比当前元素大的值,有几个逆序数就是几. 线段 ...
- poj2299--归并排序求逆序数
/** \brief poj2299 * * \param date 2014/8/5 * \param state AC * \return memory 4640K time 3250ms ...
- HDU3465 树状数组逆序数
Life is a Line Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)T ...
- HDU 1394 Minimum Inversion Number(最小逆序数 线段树)
Minimum Inversion Number [题目链接]Minimum Inversion Number [题目类型]最小逆序数 线段树 &题意: 求一个数列经过n次变换得到的数列其中的 ...
- 递归O(NlgN)求解逆序数
导言 第一次了解到逆序数是在高等代数课程上.当时想计算一个数列的逆序数直觉就是用两重循环O(n^2)暴力求解.现在渐渐对归并算法有了一定的认识,因此决定自己用C++代码小试牛刀. 逆序数简介 由自然数 ...
- FZU 2184 逆序数还原
传送门 Description 有一段时间Eric对逆序数充满了兴趣,于是他开始求解许多数列的逆序数(对于由1...n构成的一种排列数组a,逆序数即为满足i<j,ai>aj的数字对数),但 ...
- HDU 1394 Minimum Inversion Number(最小逆序数/暴力 线段树 树状数组 归并排序)
题目链接: 传送门 Minimum Inversion Number Time Limit: 1000MS Memory Limit: 32768 K Description The inve ...
随机推荐
- PHP之基本语法
人生最幸福的事之一就是,邻居家的wifi密码是123456789,于是回家在pad上也照样可以扯淡.任何语言都有自己的语法,这里只简单说些我觉得应该注意的地方. 首先要明白,PHP是运行于服务器端的脚 ...
- ubuntu 16.04 chrome flash player 过期
今天手贱更新了系统,发现chrome flash插件过期了 解决方法: 使用全局代理打开 chrome $: google-chrome --proxy-server="socks5://1 ...
- ACM——第几天
第几天 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 1830 测试通过 : 525 描 ...
- SSRS和SSAS是支持VB的
SSRS和SSAS是支持VB的,而且自定义Code其实也是只支持VB,或者其他语言可以编码成DLL再用咯.下面是官方VB函数库,基本上都能用,保存起来妥妥的. https://msdn.microso ...
- iOS -数据持久化之CoreData
Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数 ...
- win10 删除资源管理器中的6个文件夹
细心的朋友会发现,在Win10此电脑(计算机)中,除了我们最熟悉的磁盘外,还新增了视频.图片.文档.下载.音乐.桌面这6个文件夹.不少网友举觉得这6个文件夹其实并没什么用,想要去除删掉.那么Win10 ...
- MVC3中 swfupload 按钮不显示 解决方案
这两天在做图片上传并显示的功能,之前就用过swfupload,觉得很不错,之前是用asp.net webform做的,这次的项目是用asp.net MVC3来做,视图引擎用的是Razor. 将js文件 ...
- js中对闭包的理解
本人丝一枚,在刚刚过去的javascript学习中,对闭包这个知识真是,听课两分钟,懵逼一整天.今天闲来没事,看了下闭包.话不多说先上代码. <!DOCTYPE html> <htm ...
- [PS] 透明底图片制作
网页中有时需要自己绘制一些图片,或者现有的图片希望修改底色,这些都会用到透明底色的图片,下面总结两种方法,比较简单入门. 一.自己制作透明底图片 步骤1.新建图片,背景内容选择透明: 步骤2.选择文字 ...
- Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库
一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...