题目链接:https://ac.nowcoder.com/acm/contest/2652/L 题目大意: 给两个长度均为 n 的数组,两个数组均为1~n全排列的一种。每次可交换任意一个数组中任意相邻的两个数,求最少多少次交换次数使得两个数组的距离最小。 距离的定义:若两个数组分别为a[],b[]。 ...
分类:
其他好文 时间:
2019-11-24 15:29:09
阅读次数:
41
逆序对 对于一个数论$a_{1},a_{2}......a_{n}$,定义有一对序列${i,j}$,当且仅当$ia_{j}$为逆序对 归并排序 归并排序是基于分治思想进行的,把区间$[l,r]$拆分成$[l,mid]$和$[mid+1,r]$两部分,分治下去进行排序,每次合并的复杂度就是当前[l,r ...
分类:
其他好文 时间:
2019-11-23 16:08:51
阅读次数:
80
图论 最短路 对比 | Floyd | Bellman Ford | Dijkstra | | | | | | 每对结点之间的最短路 | 单源最短路 | 单源最短路 | | 无负环的图 | 任意图 | 非负权图 | | $O(N^3)$ | $O ( NM )$ | $O((N+M)log\ M)$ ...
分类:
其他好文 时间:
2019-11-13 22:19:58
阅读次数:
82
题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai aj且i include include in ...
分类:
编程语言 时间:
2019-11-13 14:44:03
阅读次数:
66
对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。求这段正整数序列中逆序对的数目。Input第一行,一个数n,表示序列中有n个数。N<=5*10^5第二行n个数,表示给定的序列。序列中每个数字不超过10^9Output给定序列中逆序对的数目。Sample Input65 4 2 ...
分类:
其他好文 时间:
2019-11-11 12:22:46
阅读次数:
76
time 题解 贪心考虑,考试时想错了,我想的是移动最大值,枚举最大值位置,然后把左面和右面逆序对拼起来, 当然,处理不了有多个最大值情况,于是我就想着打个部分分吧 然而对拍还是挂, 枚举最大值位置是不对的 考虑一种情况a,b,c,d,e,f,g 其中d最大可能出现a移动到d右面更优,b,c留在左面 ...
分类:
其他好文 时间:
2019-11-07 09:51:20
阅读次数:
73
大意: 给定两个串$s,t$, 每次操作任选长度$len$, 分别翻转$s,t$中一个长$len$的子串, 可以进行任意次操作, 求判断能否使$s$和$t$相同. 字符出现次数不一样显然无解, 否则若某种字符出现多次, 显然有解, 否则只要逆序对奇偶性相同就有解, 不同则无解. #include < ...
分类:
其他好文 时间:
2019-11-06 22:49:23
阅读次数:
95
逆序对 首先我们来认识一下什么叫做逆序对:如果对于 i<j,a[i]>a[j],那么a[i]和a[j]就是一对逆序对 树状数组求逆序对 我们挨个把a数组放进树状数组里,对于每一个a[i],统计a[1...i-1]中有多少个数比a[i]大,就有多少对逆序对 归并排序求逆序对 归并排序是一种基础的排序方 ...
分类:
其他好文 时间:
2019-11-04 17:23:30
阅读次数:
108
//P1908 逆序对 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int mxn=5e5+5; int a[mxn],c[mxn],b[mxn],f[mxn]; int n; inline int... ...
分类:
编程语言 时间:
2019-10-29 19:42:45
阅读次数:
109
设计一个平均时间为O(n)的算法,在n(1<=n<=1000)个无序的整数中找出第k小的数。 提示:函数int partition(int a[],int left,int right)的功能是根据a[left]~a[right]中的某个元素x(如a[left])对a[left]~a[right]进 ...
分类:
其他好文 时间:
2019-10-28 23:49:59
阅读次数:
175