描述 【题解】 让区间的长度L为1,2,4,...2^(n 1) 然后对每个位置i开始的长度为L的区间归并有序,用归并排序的方法就好,然后i跳转到i+L 复杂度仍然是log2(n) n级别的,注意写的时候的一些细节。 比如一定要让最后L =n的情况进行过一次,不然无法保证整个序列是有序的 【代码】 ...
分类:
编程语言 时间:
2019-10-03 21:34:16
阅读次数:
75
小和问题: 左边比当前元素小的元素的元素的和 暴力解法不推荐O(N^2) 归并加速 ...
分类:
编程语言 时间:
2019-10-03 19:54:55
阅读次数:
97
合归并排序需要 ,先排序,再 合并。复杂度为O(nlogn);空间复杂度为O(N)。需要额外的数组,保存复制已排序的数组到原数组中。 ...
分类:
编程语言 时间:
2019-10-03 18:10:52
阅读次数:
90
归并排序法 参考文章: https://www.cnblogs.com/chengxiao/p/6194356.html https://zh.wikipedia.org/wiki/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F 基本思想: 归并排序(MERGE-SORT) ...
分类:
编程语言 时间:
2019-10-03 14:23:15
阅读次数:
90
https://www.luogu.org/problem/P1908 沿用归并排序的思想求逆序对。 坑1:结果爆int型,需要用longlong 坑2:相对于归并排序,在比较的时候多了一个等号 举例说明归并排序解本题,例如有6个数, 36,87,99, 左区间范围是l到mid,下标用t1表示 1, ...
分类:
其他好文 时间:
2019-10-03 00:29:38
阅读次数:
116
归并排序详解百度一大把,记录一下代码,是cdq分治的基础。 ...
分类:
编程语言 时间:
2019-10-02 22:56:20
阅读次数:
99
``` !/usr/bin/python coding=UTF 8 思路:前提是此列表的必须是已经排好序的(例如:[2,4,5,7,1,3,6,8]), 分为两部分 ,从开始到中间,从中间到最后开始比较,然后进行加到列表后面,肯定有一边提前结束,结束后直接将剩余的列表加入到列表中就行 def mer ...
分类:
编程语言 时间:
2019-09-30 20:05:03
阅读次数:
87
 ``` # 空间复杂度是指本算法是不是需要开辟一块新内存,如果需要开辟新内存则是O(n)否则是O(1)。 # 如果是... ...
分类:
编程语言 时间:
2019-09-30 20:00:19
阅读次数:
61
写在前面 这一篇没有什么好东西,~~为什么没人写Hash~~ Idea 因为本题求的是 逆序对 ,重点是 离散化 ,不是么? 于是可以用 Hash 来处理本题? 裸的树状数组和归并有$70\;pts$ 是吧 根据 "这一篇题解" ,我们可以得到一种好的做法 这里我采用 Hash 可以看看记录 开$O ...
分类:
其他好文 时间:
2019-09-29 19:32:57
阅读次数:
66
题面:https://www.cnblogs.com/Juve/articles/11602244.html 平均数: 第k个平均数不好求,我们考虑二分,转化成平均数小于x的有几个 虑把序列中的每个数减去 x,则我们只需求区间和小于 0 的区间数量。 我们对这个序列求前缀和,则区间[L,R]和小于 ...
分类:
其他好文 时间:
2019-09-28 12:35:26
阅读次数:
84