思路:使用归并排序,每一轮归并后都局部有序,可以利用这个,减少时间复杂度 小和问题 关键代码: java public static int mergeSort(int[] arr, int left, int right) { if (left == right) { return 0; } in ...
分类:
其他好文 时间:
2019-08-22 22:01:00
阅读次数:
94
首先考虑归并排序: 归并排序为什么能相比普通的排序方法,将时间复杂度从O(n^2)提升至O(nlogn)? 最主要的一点是引入了两个有序数组合并的思想,真正提升效率就是在这个地方。 首先我们考虑,如果两个数组无序的话,比如: 如果使用O(n^2)的方法,在这样一个数组中,每一个数都要跟其他的数比较一 ...
分类:
编程语言 时间:
2019-08-22 11:05:07
阅读次数:
98
传送门 然鹅我并不觉得这道题很清新rua 思维巧妙!(参考) 对于第k小,我们可以这样考虑,若是第k小,那么比它小的方案应该是有k-1个。 在排列组合中,若固定i放在j位置,方案数是确定的,即:i固定在j位置,满足这个条件的序列的rank是在一个范围内的。 对于逆序对 常见思考方式是从小到大枚举数字 ...
分类:
其他好文 时间:
2019-08-21 11:43:36
阅读次数:
89
#include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long const int N=500005... ...
分类:
其他好文 时间:
2019-08-20 18:13:15
阅读次数:
55
突突突 赶在暑假结束前 多搞搞队内训练 C. Pizza Cutter (solve) 题意:给你一个面基x*y的披萨 横着切h刀 竖着切v刀 题目保证了不会三刀交于一个点~ 因为这个原因其实我们每次只需要求横着和竖着的逆序对 每个逆序对都会贡献+1 因为三刀不会交于一点所以正常切(没逆序对的情况下 ...
分类:
其他好文 时间:
2019-08-20 10:37:50
阅读次数:
81
我真是个垃圾,滚回去刷普及组了 1>快速幂+模运算 我好垃圾啊,水题随便一写就是一小时,难过 2>幂次方 分解成二进制数 3>CDQ求逆序对数 ...
分类:
其他好文 时间:
2019-08-17 14:53:52
阅读次数:
65
题目是瞎写的。 “内个,先看下凸包啊。” “凸?包?” 然后就开始考试了。 话说在0817考试,一个完美的质数 考试过程: 先看T1,觉得像个计算几何。 然后是T2,觉得好像可做,逆序对?DP? T3,一眼看去好像可打暴力。 开始做T1了。 写写画画,在图里画凸包。一片混乱。 最后仿佛想到了一个错解 ...
分类:
其他好文 时间:
2019-08-17 14:38:38
阅读次数:
93
题目: permut 题目描述: 求由 1 到 n 一共 n 个数字组成的所有排列中,逆序对个数为 k 的有多少个 输入格式: 第一行为一个整数 T,为数据组数。 以下 T 行,每行两个整数 n,k,意义如题目所述。 输出格式: 对每组数据输出答案对 10000 取模后的结果 Sample Inpu ...
分类:
其他好文 时间:
2019-08-14 17:03:41
阅读次数:
87
代码 include using namespace std; typedef long long ll; const int N = 2e5 + 10; int a[N],b[N]; ll ans = 0; define sc scanf define pr printf define rep(i ...
分类:
编程语言 时间:
2019-08-13 15:45:16
阅读次数:
189
题目描述 生活中,大多数事物都是有序的,因为顺序的美是最令人陶醉的。所以现在RCDH看了不顺的东西就头痛。所以他想让世界变成有序,可是他只是一个无名小辈,所以只好对数字序列下手。 据他所知序列的混乱程度是由“逆序对”的个数决定,公式是Q=2^n,其中Q是指混乱程度,n是指这个序列“逆序对”的个数。逆 ...
分类:
编程语言 时间:
2019-08-11 15:00:50
阅读次数:
100