求逆序数
来源:互联网 发布:名片设计软件手机版 编辑:程序博客网 时间:2024/06/03 14:31
package hello;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import javax.imageio.plugins.bmp.BMPImageWriteParam;import javax.xml.crypto.Data;public class Hello {static int[] a = new int[100000];static int N = 100000;static long count = 0;public static void merge_Count(int a[], int m, int l, int r) {int L[] = new int[l - m + 1];int R[] = new int[r - l];int p = 0;int q = 0;for (int i = m; i <= l; i++)L[p++] = a[i];for (int i = l + 1; i <= r; i++) {R[q++] = a[i];}int i = 0, j = 0;for (int k = m; k <= r; k++) {if (i <= l - m & j <= r - l - 1) {if (L[i] < R[j]) {a[k] = L[i];i++;} else {a[k] = R[j];j++;count = count + l - m -i+ 1;}} else if (i > l - m) {a[k] = R[j++];} else {a[k] = L[i++];}}}public static void inversion_count(int a[], int l, int r) {if (l < r) {int m = (l + r) / 2;inversion_count(a, l, m);inversion_count(a, m + 1, r);merge_Count(a, l, m, r);} else {return;}}public static void main(String[] args) {try {FileReader fr = new FileReader("Q2.txt");BufferedReader br = new BufferedReader(fr);int i = 0;String line;while ((line = br.readLine()) != null) {a[i++] = Integer.parseInt(line);}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}inversion_count(a, 0, N - 1);System.out.println(count);}}
0 0
- 求逆序数
- 求逆序数
- 求逆序数
- 求逆序数
- 求逆序数
- 求逆序数
- 求逆序数
- 求逆序数
- 求逆序数算法
- 求逆序数
- 求逆序数#no
- 求逆序数
- NYOJ117 求逆序数
- 求逆序数
- 求序列逆序数
- nyoj117求逆序数
- NYOJ 求逆序数
- MergeSort 求逆序数
- 云服务器是什么 ?云服务器有什么优势 ?
- TCP/IP详解 卷1 笔记 第17章 TCP:传输控制协议
- UIButton
- linux 清空文件内容若干方法
- 机器视觉算法之物体方位特征提取
- 求逆序数
- UITextField
- C# ADO - timeout 引出的探讨
- 8086汇编初学者问题FAQ
- Android Context 上下文 你必须知道的一切
- UIControl
- 查询数据库,处理NULL值问题
- [leetcode 270] Closest Binary Search Tree Value
- UIGestureRecognizer