主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
答疑区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
xjnotywlq
2024年3月14日 16:59
逆序对 题解:merge_sort
P1584
回复 0
|
赞 0
|
浏览 577
#include <stdio.h> #include <stdlib.h> int q[100005],temp[100005]; int merge_sort(int q[],int l,int r){ if(l>=r)return 0; int mid=(l+r)/2; int res=merge_sort(q,l,mid)+merge_sort(q,mid+1,r); int k=0; int i=l; int j=mid+1; while(i<=mid...
我要上岸!
2024年3月7日 17:02
逆序对 题解:直接暴力会超时,借助插入排序算法,虽然最坏仍未O(n^2
P1584
回复 0
|
赞 0
|
浏览 667
#include<bits/stdc++.h> using namespace std; int insert_sort(int arr[], int length) { int count = 0; for (int i = 1; i < length; i++) { int key = arr[i]; int j; &nbs...
Lluvia
2020年5月31日 16:39
使用合并排序+分治
P1584
回复 0
|
赞 1
|
浏览 8.1k
使用合并排序+分治,直接双层循环会导致有数据超时 #include<bits/stdc++.h> using namespace std; const int maxn = 500010; int n; int a[maxn],b[maxn]; long long ans = 0; //归并排序 void merge(int L1,int R1,int L2,int R2){ int i = L1,j = L2; int index = 0;//index为b数组的下标 while(i<=R1 && j<=R...
题目
逆序对
题解数量
3
发布题解
热门题解
1
使用合并排序+分治
2
逆序对 题解:直接暴力会超时,借助插入排序算法,虽然最坏仍未O(n^2),但仍比暴力节省得多
3
逆序对 题解:merge_sort