题目链接:https://vjudge.net/problem/POJ-2299 题目大意 归并排序求逆序数经典题。 分析 略。 代码如下 1 #include <cmath> 2 #include <ctime> 3 #include <iostream> 4 #include <string> ...
分类:
其他好文 时间:
2019-08-11 10:58:48
阅读次数:
91
把开发过程中比较重要的内容片段备份一次,如下的资料是关于C++归并排序算法的内容,希望对各朋友有一些用。#include<cstdlib>#include<limits>#include<iostream>#include<vector>#include<iomanip>usingnamespacestd;typedefvector<
分类:
编程语言 时间:
2019-08-11 00:43:53
阅读次数:
90
1.快速排序(QuickSort) 1.1 快速排序是对冒泡排序的一种改进。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按照此方法对这两部分数据进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 2.归并排序(MergeS ...
分类:
编程语言 时间:
2019-08-10 15:43:18
阅读次数:
113
无论是迷宫游戏、扫雷游戏,还是常用的搜索引擎,甚至高端AI人机博弈等都需要算法来更好的实现。 算法是软件方面提升计算机效率的利器。 算法与数据结构分不开,用代码实现算法,至少会涉及到一种数据结构,数据结构通常有: 线性结构树形结构图算法就要分别对应不同数据结构去排序。 当一个算法思想提出后,往往还需 ...
分类:
编程语言 时间:
2019-08-10 12:00:37
阅读次数:
94
集训1(HDU2018 Multi-University Training Contest 2)补题 E、G 较简单,赛后应马上补上。 C、F 属于常见知识点,也应尽快补上。 ...
分类:
编程语言 时间:
2019-08-06 23:58:39
阅读次数:
253
归并排序采取了分治的思想,每次分别排左半边和右半边,不断递归调用自己,直到只有一个元素递归结束,开始回溯,调用merge函数,合并两个有序序列,再合并的时候每次给末尾追上一个最大int这样就不怕最后一位的数字不会被排序。 ——————————————————————————————————————— ...
分类:
编程语言 时间:
2019-08-06 00:30:43
阅读次数:
96
树状数组 lowbit(i)=i & -i ci=i-lowbit(i)+1 ~ i c1 2 3 4 5 6 7 8... for(1~i) sum+=ci 区间加值:i+lowbit(i) 修改单点 区间修改 在两个端点各加一个标记 区间查询 求1~i 前缀和 sumi sumi 线段树 像归并 ...
分类:
编程语言 时间:
2019-08-05 18:57:41
阅读次数:
99
#include #include #include using namespace std; long long a[101000],b[101000]; int n; inline void Merge(int l,int mid,int r) { for(int i=l;imid) { a[i... ...
分类:
编程语言 时间:
2019-08-04 10:30:05
阅读次数:
98
学习内容:对顶堆 + 归并排序逆序数 + 树状数组逆序数 完成题数:5题 看书情况:15页 做题总结: AcWing 139:https://www.cnblogs.com/buhuiflydepig/p/11294118.html AcWing 106:https://www.cnblogs.co ...
分类:
其他好文 时间:
2019-08-03 23:44:15
阅读次数:
174
你一定玩过八数码游戏,它实际上是在一个3×3的网格中进行的,1个空格和1~8这8个数字恰好不重不漏地分布在这3×3的网格中。 例如: 5 2 8 1 3 _ 4 6 7 在游戏过程中,可以把空格与其上、下、左、右四个方向之一的数字交换(如果存在)。 例如在上例中,空格可与左、上、下面的数字交换,分别 ...
分类:
编程语言 时间:
2019-08-03 21:38:32
阅读次数:
188