【逆序对】Ultra - Quicksort

news/2024/7/5 3:13:30

POJ 2299 Ultra-QuickSort

只允许交换,比较相邻的元素, 求最少多少次交换可以使得序列有序

冒泡排序的次数——>数列中逆序对的个数减1——>最终为0 ——>答案为数列中逆序对的个数——> 归并排序求逆序对qwq

注意cnt开long long 不然会炸QAQ

板子!上!

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 using namespace std;
 5 const int sz = 500050;
 6 int a[sz], b[sz], n;
 7 long long cnt = 0;
 8 void merge_sort(int l, int r) {
 9     if(r-l > 0) {//这里一开始写成while了QAQ 死循环无输出orz
10         int mid = (l + r) >> 1;
11         int i = l, p = l, q = mid+1;
12         merge_sort(l, mid);
13         merge_sort(mid+1, r);
14         while(q<=r || p <= mid) {
15             if(q > r || ((p <= mid)&&(a[p] <= a[q])))
16                 b[i++] = a[p++];
17             else b[i++] = a[q++], cnt = cnt + mid - p + 1;
18          }
19          for(int i = l; i <= r; i++)
20              a[i] = b[i];
21     }
22 }
23 int main() {
24     while(1) {
25         scanf("%d", &n);
26         if(n==0) break;
27         memset(a, 0, sizeof(a));
28         memset(b, 0, sizeof(b));
29         for(int i = 1; i <= n; i++) 
30             scanf("%d", &a[i]);
31         cnt = 0;
32         merge_sort(1, n);
33         printf("%lld\n", cnt);
34     }
35     
36 }

 

转载于:https://www.cnblogs.com/Hwjia/p/9811354.html


http://lihuaxi.xjx100.cn/news/245803.html

相关文章

学生的新增mySQL文档_MySQL增删改查

连接命令&#xff1a;mysql -h[主机地址] -u[用户名] -p[用户密码]创建数据库&#xff1a;create database [库名]显示所有数据库: show databases;打开数据库:use [库名]当前选择的库状态:SELECT DATABASE();创建数据表:CREATE TABLE [表名]([字段名] [字段类型]([字段要求]) …

eclipse快捷键

1) ctrlshift 0 : 快速导入没有引入的包&#xff1b;2)alt左右方向键&#xff0c;回到上次跳转的地方&#xff1b;3)alt上下方向键&#xff0c;可以使选择的行自动移动3&#xff09;选中要查询的类&#xff0c;按ctrlT &#xff1a;查看类的继承关系树&#xff1b;-----F3,ctrl…

红帽企业版Linux成为Linux下的.NET Core的参考平台

微软和红帽声明将在红帽企业版Linux运行的.NET纳入官方支持。经两家公司透露&#xff0c;“红帽企业级Linux将成为Linux下的.NET Core主要参考操作系统”。\\来自红帽资深开发者Harry Mower谈到&#xff0c;.Net的开源让开发者“兼顾操作系统和运行时的好处”新的可能性变为了现…

mysql 建复合索引_关于mysql建立索引 复合索引 索引类型

这两天有个非常强烈的感觉就是自己在一些特别的情况下还是hold不住&#xff0c;脑子easy放空或者说一下子不知道怎么去分析问题了&#xff0c;比方&#xff0c;问“hash和btree索引的差别”&#xff0c;这非常难吗。仅仅要掌握了这两种数据结构稍加分析就能得出答案&#xff0c…

1-1 分配内存资源给容器和POD

这一小节讲解如何分配内存请求和对一个容器做内存限制。一个容器被保证拥有足够的内存可以处理请求&#xff0c;但是也不允许使用超过限制的内存。 开始之前 需要拥有一个k8s集群 需要安装好一个kubectl 工具&#xff0c;并且能够与集群通信。 如果没有准备好&#xff0c;你…

当你学了现在的忘了前面的

我怀疑我的智商应该不是很高&#xff0c;要不然我也不会学的如此狼狈。虽然我总是能很好的理解现在所学的知识点&#xff0c;但是我就是记不住&#xff0c;当下次再次需要上次的知识点来解决问题的时候&#xff0c;我总是忘的差不多了&#xff0c;要不就是没把握和对不对的问题…

属性 visibility

http://www.w3school.com.cn/cssref/pr_class_visibility.asp 可能的值 值描述visible默认值。元素是可见的。hidden元素是不可见的。collapse当在表格元素中使用时&#xff0c;此值可删除一行或一列&#xff0c;但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使…

gff3转mysql_五月 | 2013 | 陈连福的生信博客

1. GBrowse的安装GBrowse安装说明文档&#xff1a;http://gmod.org/wiki/GBrowse_2.0_Install_HOWTOGBrowse的安装很少有能顺利安装成功的。需要不断的摸索&#xff0c;看文档&#xff0c;并搜索相关错误&#xff0c;google看别人是怎么解决的。有管一些我安装过程遇到的困难如…