通过 n-i 次元素之间的比较,从 n-i+1 个元素中选出值最小的元素,和第 i 个元素交换 (从数组中选出最小值元素与最左元素进行交换位置) 简单选择排序例子 举例: 假设数组如下 5 2 8 4 9 1 第一趟排序…
标签:数据结构
lower_bound()函数和upper_bound()函数,以及二分查找
参考C++ Refference: http://www.cplusplus.com/reference/algorithm/lower_bound/ 本文前面是函数原型, 后面是怎么用 lower_bound(): 默…
《数据结构与算法之美》-数组
《数据结构和算法之美》专题陆陆续续看了好几篇了,看到数组这篇了。刚看的时候心想着数组这东西基本都会用,还能讲出花来?看完后发现我还是有蛮大收获的,下面大概总结下。 数组是再寻常不过的数据结构了,几乎所有的编程语言应该都有…
基本算法——快速排序算法
快速排序算法是对冒泡算法的改进。所以我们首先来简单的谈谈冒泡算法。 1.冒泡算法 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重…
BZOJ-2877: [Noi2012]魔幻棋盘(线段树)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2877 嗯,这次好好写一次题解吧,这题傻叉的写了半天QAQ : 首先,由欧几里德算法,我们知道gcd(a,b)=gc…
C++二分图代码实现
#include <iostream> #include <cstdio> #include <vector> using namespace std; #define MAX 100…
BZOJ-2186: [Sdoi2008]沙拉公主的困惑(欧拉函数+乘法逆元)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2186 由于(a+b,b)=(a,b),所以答案就是phi(m!)*n!/m!,然后化简之后上乘法逆元。 (第一次写…
BZOJ-1027: [JSOI2007]合金(最小环)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1027 额。。。计算几何太弱了,这题搞了N久才A掉,就是用最小环求一下最小的凸包,然后记得要特判一下所有点都在一个点…
Java 面试宝典
基础篇 基本功 面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什…
链表排序
链表适合插入和删除,不适合检索,尤其是单向链表中寻找节点的父节点。 快排:可参考快排常见的三种策略。除了插入策略之外,都不太适合链表,因为需要寻找父节点。 堆排序:堆排序似乎没有大的问题,但是空间复杂度N。 归并排序:归…
数据结构| 串
串的定义 串,也称为字符串,是由零个或多个字符组成的有限序列。它是一种特殊的线性表,仅由字符组成。一般记作: S=”a1a2……an” 其中,S是串名,n是串的长度,用双引…
BZOJ-1486: [HNOI2009]最小圈(二分判定+DFS查负权圈)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1486 二分判定最小平均值,如果我们枚举一个端点mid,我们对所有边权减去mid,如果存在负权圈,那么就说明存在比枚…