给定一个整数X和整数A0,A1,…,AN-1,后者已经预先排序并在内存中,求下标i使得Ai = X , 如果X不在数据中则返回i = -1 。明显的解法是从左往右扫描,花费线性时间。但是这个算法没有用到该表已经排序这个事实。折半检索(binary search,二分法检索)策略:/** * Perf...
分类:
其他好文 时间:
2014-07-16 23:25:47
阅读次数:
233
const int MAX = 1e6+10;const int inf = 0x3f3f3f3f;int n,m;int lx[MAX],ly[MAX];int match[MAX];int usex[MAX],usey[MAX];int w[MAX][MAX];int find(int u) {...
分类:
其他好文 时间:
2014-07-08 00:04:48
阅读次数:
266
题目大意:有n个节点p条无向边,现在可以选择其中的任意K条免费,如果必须的边多与K跳,则花费多余所需边中权值最大的一个,求最小花费多少。分析:最短路+二分我们可以二分答案mid,对于每一个mid求最短路,将最短路中大权值大于mid的边作为免费的集合,否则作为不免费的集合,验证免费集合大小是否大于K这...
分类:
其他好文 时间:
2014-07-07 23:07:21
阅读次数:
234
Implement pow(x,n).明显的二分解决由于n不可能总是偶数, 如果n是正奇数,那么n个x的乘积等于两部分的乘积再乘以x 如果n是负奇数,那么n个x的乘积等于两部分乘积再乘以1/xclass Solution {public: double pow(double x, int ...
分类:
其他好文 时间:
2014-07-07 15:00:12
阅读次数:
183
Building roads
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 6229
Accepted: 2093
Description
Farmer John's farm has N barns, and there are some cows that...
分类:
其他好文 时间:
2014-06-30 10:55:18
阅读次数:
146
var indexOfSorted = function f(arr,n){
//assume : arr has been sorted
var low = 0;
var high = arr.length - 1;
var mid = (low + high) / 2;
while(high - low > 1){
if(n == arr[low]){return low...
分类:
Web程序 时间:
2014-06-30 08:54:10
阅读次数:
978
题目地址:http://poj.org/problem?id=2391
这个题WA了一晚上,原因是数组开小了,然后又TLE了一天,原因是数组改的过大了。。。。不多说什么了。。。
思路不难,建图也不难,二分时间,然后把每个田地之间的最短距离用floyd最短路求出来。然后建立一个源点与汇点,将田地拆分成两个点,在距离之内的进行连边,要单向连边。然后将源点与田地相连,权值为每个田地的牛的数目,再把另...
分类:
其他好文 时间:
2014-06-30 08:23:24
阅读次数:
245
对每个圆二分半径寻找可行的最小半径,然后取最小的一个半径。
对于两圆相交就只要求到两个扇形,然后减去两个全等三角形就行了。
#include
#include
#include
#include
using namespace std;
#define pi acos(-1.0)
#define eps 1e-8
#define maxn 50
int n;
struct point{...
分类:
其他好文 时间:
2014-06-29 22:36:16
阅读次数:
247
简单二分图匹配....
Card Game Cheater
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1073 Accepted Submission(s): 565
Problem Descrip...
分类:
其他好文 时间:
2014-06-28 09:18:02
阅读次数:
316