XidianOJ 1024 简单逆序对
题目描述
输入
输出
输出逆序对的个数,且对10^9+7取模
--正文
使用的是归并排序求逆序对,其实还有很多种
PS: 打10^9的时候老是不小心多打个0少打个0,WA了半天,诶
#include <stdio.h>int a[1000001]; int tempa[1000001]; long long total = 0; void merge(int left,int mid,int right){int endl = mid - 1,endr = right;int L = left,R = mid;int Tmp = left;int NumElements = right - left + 1; while (L<= endl && R <= endr) {if (a[L] <= a[R]) {tempa[Tmp++] = a[L++];}else {total += endl - L + 1;tempa[Tmp++] = a[R++];}} while (L<=endl){tempa[Tmp++] = a[L++];}while (R<=endr){tempa[Tmp++] = a[R++];}int i;for (i=0;i<=NumElements;i++,endr--){a[endr] = tempa[endr];} }void mergesort(int left,int right){int mid = (left + right) / 2;if (left < right){mergesort(left,mid);mergesort(mid+1,right);merge(left,mid+1,right);} } int main() {int time,T;scanf("%d",&T);for (time=1;time<=T;time++){int n;scanf("%d",&n);int i;for (i=1;i<=n;i++){scanf("%d",&a[i]);}total = 0;mergesort(1,n); printf("%lld\n",total % 1000000007);}return 0; }
转载于:https://www.cnblogs.com/ToTOrz/p/6064084.html
XidianOJ 1024 简单逆序对相关推荐
- 【数据结构笔记32】排序算法概述、简单排序(冒泡排序、插入排序)、逆序对
本次笔记内容: 9.1.1 概述 9.1.2 冒泡排序 9.1.3 插入排序 9.1.4 时间复杂度下界 文章目录 排序算法前提条件 冒泡排序 插入排序 时间复杂度下界 逆序对(inversion) ...
- 期望dp ---- B. Tree Array 思维+期望dp 逆序对期望数
题目大意 题目大意: n(n≤200)n(n\leq200)n(n≤200)个节点的树.初始的时候,等概率随机选择一个点标记,接来随机选择一个与标记点相连的未标记点来标记,直到所有的点都被标记.根据点 ...
- szu 寒训第二天 树状数组 二维树状数组详解,以及树状数组扩展应用【求逆序对,以及动态第k小数】
树状数组(Binary Index Tree) 树状数组可以解决可以转化为前缀和问题的问题 这是一类用以解决动态前缀和的问题 (有点像线段树简版) 1.对于 a1 + a2 + a3 + - + an ...
- 【牛客每日一题】4.16 逆序对 ( 数学 , 排列组合 ,快速幂 , 快速乘 )
[每日一题]逆序对 链接:https://ac.nowcoder.com/acm/problem/14731 来源:牛客网 题目描述 求所有长度为n的01串中满足如下条件的二元组个数: 设第i位和第j ...
- 牛客练习赛33 D tokitsukaze and Inverse Number (树状数组求逆序对,结论)
链接:https://ac.nowcoder.com/acm/contest/308/D 来源:牛客网 tokitsukaze and Inverse Number 时间限制:C/C++ 1秒,其他语 ...
- 逆序对java_算法导论学习||查找逆序对
查找逆序对很简单,自己变成就是几行,思路也是十分简单.但是题目要求用递归的方法,和合并排序很相似,网上也有很多人提供具体的程序,但是我对这种递归排序还是不能清晰得理解,所以在这里就不贴出来了,只放上了 ...
- POJ-排序-归并排序与逆序对
排序:归并排序与逆序对 一.概念 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用.将已有序的子序 ...
- 用不同的姿势求逆序对(复习篇)
用不同的姿势求逆序对(复习篇) 文章目录 用不同的姿势求逆序对(复习篇) 前言 讲解 归并排序 树状数组 线段树 题目 思路 代码 归并排序求逆序对 树状数组求逆序对 线段树求逆序对 历届试题 小朋友 ...
- 洛谷 P2513 [HAOI2009]逆序对数列
题目描述 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数.那么逆序对数为k的这样 ...
- 牛客 - What Goes Up Must Come Down(树状数组求逆序对)
题目链接:点击查看 题目大意:给出一个长度为 n 的序列,每次操作可以交换相邻两个数字的位置,现在问最小进行多少次操作,可以使得序列的相对大小呈山峰状(中间高两边低,或非严格递增或非严格递减) 题目分 ...
最新文章
- android适配右到左布局注意事项
- ActivityRecord、TaskRecord、ActivityStack相互关系以及Activity启动模式
- nagios出现乱码
- 经常会提到的Java面试题
- 【开源】SpringBootNetty聊天室V1.2.0升级版本介绍
- jmeter时间函数格林尼治时间_VB常用函数——时间函数和DateDiff函数
- spring依赖注入_Spring源码阅读:Spring依赖注入容器
- 引用到网站绝对路径Server.MapPath(~/myfile.mdb)
- 数据库系统原理复习提纲
- python 编码 解码 读写文件
- js 用submit()方法提交表单,页面闪退问题以及解决方法
- eclipse配置tomcat,并部署一个Java web项目到tomcat上
- SFS2X 例子(java 扩展加as 客户端)
- 简单工厂模式和策略模式的区别
- 零基础学习用labview制作温度采集系统
- python合并excel表格
- 计算机电子预览室配置清单,完整的停车场管理系统设计方案-附停车场管理详细大样图及安装图!...
- Mac安装win10出现的错误无法分区和Boot Camp分区不足
- 第三十届香港金像奖(转)
- 【重学UML】UML类图关系及其对应代码
热门文章
- DockOne微信分享(一四一):如何开发部署Kubernetes Native应用
- Python3.4下使用sqlalchemy
- 老李分享:Web Services 组件
- HTML中的select只读
- [转]浅谈算法和数据结构: 八 平衡查找树之2-3树
- Delphi2010中向TRxRichEdit控件中插入OLE对象。
- H3C DHCP中继和RIP配置实验
- java 多环境 虚拟环境_Spring profile通过多种方法实现多环境支持
- python背包问题递归_想问下大神python的背包问题的源代码(最好玩也有伪代码,请用递归法实现),因为只学过递归法,所...
- JavaScript数据类型之String