折半查找,也叫二分查找,当在一个数组或集合中查找某个元素时,先定位出中间位置元素,如果要查找的元素正好和该中间位置元素相等,通过一次查找,就能找到匹配元素;如果要查找的元素小于该中间位置元素,就抛弃后面一半的元素,在前面一半的元素中再定位出中间位置元素,如此反复,直到找到匹配元素;如果要查找的元素大...
分类:
其他好文 时间:
2014-07-29 10:22:58
阅读次数:
313
A题:二分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4791
用lower_bound可以轻松解决,不过比赛的时候逗逼了。
刚开始没有预处理,所以队友给出一组数据的时候没通过,然后一时紧张又想不出什么好的解决办法,所以就没再继续敲代码。实在有点可惜了。
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-07-28 16:17:53
阅读次数:
436
Problem Description
the second year of the university somebody started a study on the romantic relations between the students. The relation “romantically involved” is defined between one girl and one...
分类:
其他好文 时间:
2014-07-28 16:07:43
阅读次数:
188
哎╮(╯▽╰)╭,这是费用流基础题型,拆点,建二分图,跑最小费用最大流即可。若最大流为n,则说明是最大匹配为n,所有点都参与,每个点的入度和出度又是1,所以就是环。
弱菜还需努力!
#include
#include
#include
#include
using namespace std;
const int inf=0x3f3f3f3f;
int nume=0;int e[500...
分类:
其他好文 时间:
2014-07-28 15:48:03
阅读次数:
210
Problem Description
As we all know, machine scheduling is a very classical problem in computer science and has been studied for a very long history. Scheduling problems differ widely in the nature of...
分类:
其他好文 时间:
2014-07-28 15:47:03
阅读次数:
308
不懂这个建模是什么原理,以后把二分图相关的东西看完再补上把= =#include #include #include #include #include #include #include #include #include #include #include #include #include u...
分类:
其他好文 时间:
2014-07-28 14:49:43
阅读次数:
200
之间介绍插入排序时漏掉一种插入方式,那就是折半插入。
这种方式是采用二分查找法去查找插入点,可以减少元素比较次数,但是并不能减少移动次数,复杂度跟直接插入一样,都为O(n^2).
直接上代码:
//二分插入排序
void binary_insert_sort(int arr[],int len)
{
if(arr == NULL || len <= 1)
{
return;
}...
分类:
其他好文 时间:
2014-07-28 00:27:19
阅读次数:
292
二分图判定 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 给定一个具有n个顶点的图. 要给图上每个顶点染色, 并且要使相邻的顶点颜色不同. 是否能最多用2种颜色进行染色. 没有重边和闭环.即二分图问题.使用深度优先搜索(dfs), 把顶点染成c, 然后相邻边染成-c. 如果相邻边被染色过, 且相同, 则图不是二分图; 如果所有边都被染色, 并且...
分类:
其他好文 时间:
2014-07-28 00:25:49
阅读次数:
208
解题报告
题目传送门
题意:
M×N的矩阵,k个点被标记,用2×1的木板最多可以放置多少个。
思路:
把标记的格子除外,链接相邻的两个格子,然后最大匹配出来的是二分图的两倍。
c++TLE了,G++1700+过了,理论上匈牙利算法的时间复杂度是n^3,就应该超时,可能数据弱吧。
还有一种建图方式就是建成二分图,将矩阵中的点奇偶分。
#include
#include
#incl...
分类:
其他好文 时间:
2014-07-28 00:11:29
阅读次数:
389
二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组 为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn)。...
分类:
其他好文 时间:
2014-07-27 23:52:09
阅读次数:
270