冒泡排序: 需求:对一个数组内元素进行从大到小或者从小到大排序; 前提:要知道肯定是双重循环,单循环无法排列; 方法:(比如从大到小排列)遍历这个素组,对n 与 n+1(相邻的)元素进行比较,如果n < n+1(即前一个小于后一个) 那么交换它们俩的位置;前面所说的是内循环,那么这样的内循环要循环整 ...
分类:
编程语言 时间:
2019-05-15 12:49:43
阅读次数:
151
优先队列工作原理: 自动排序的队列 1 . 出队:弹出最小(大)。 2. 入队:插入一个元素,并调整好顺序。 而优先队列排序有什么优势呢?如图可知。 声明一个优先队列,先调用#include<queue> priority_queue <int> q; //大根堆,从大到小排序 priority_q ...
分类:
编程语言 时间:
2019-05-11 00:12:56
阅读次数:
276
冒泡 所谓的冒泡排序,其实指的是对数组中的数据进行排序,按照从小到大的顺序来进行排列. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 这个算法 ...
分类:
编程语言 时间:
2019-05-09 22:01:22
阅读次数:
128
汉诺塔比较经典的实现是利用递归,但也可以利用堆栈。 题意理解:有A,B,C三个柱子,将A柱子上的N个盘子(从大到小排列)移到C柱子上,每次只允许移动一个盘子,并且保证每个柱子上的盘子的排列都是从大到小。 1、递归实现 假设只有一个盘子,那么只需实现 A->C 这个动作; 如果有两个盘子,那么需要 ( ...
分类:
其他好文 时间:
2019-05-04 12:13:08
阅读次数:
136
题目链接 这道题,贪就对了。 先按照价值排序,从大到小。当前考虑的的就先放到尽可能晚的时间点,为其他的创造机会,如果这一个的所有可用时间段都被占据,就只能扣钱了。 ...
分类:
其他好文 时间:
2019-05-04 11:37:21
阅读次数:
119
一道经典的贪心题。 我们不妨将物品按照价值从大到小排序,对于每一个物品,我们尽量让它晚一些被售出,这样得到的答案一定是最优解。 我们可以简单证明一下,首先我们先售出获利较大的物品,这个的正确性是显然的。对于某一个物品,我们最好在时间范围之内让它最晚被售出。为什么呢?因为这个物品在允许范围内的任意时间 ...
分类:
其他好文 时间:
2019-05-02 23:12:16
阅读次数:
142
Problem Description 输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。 Input 输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。 Output 对于每个测试实 ...
分类:
编程语言 时间:
2019-05-01 01:41:30
阅读次数:
201
题解 首先可以发现有效果的$a_i$大小一定是递减的,而且一定小于等于当前值 所以我们可以从大到小考虑每个$a_i$,当确定了一个有效果的$a_i$时,$(a_i,x]$的数都可以随意的放在$a_i$之后并且不会造成影响 设$f_i$表示考虑完所有的大小大于$i$数,当前数值为$i$的方案数 $s_ ...
分类:
其他好文 时间:
2019-04-27 09:46:06
阅读次数:
117
Part 1 Part 2 Part 3 Part 4 Part 5 总结:会使用冒泡法来是数据按从大到小或从小到大排列 ...
分类:
其他好文 时间:
2019-04-26 00:18:10
阅读次数:
118
从大到小寻找每个数字的位置,将其先移动到第一个位置,再将其移动到其数字应该的位置(index==num-1)。 ...
分类:
其他好文 时间:
2019-04-24 19:20:38
阅读次数:
95