摘要: 利用迭代法能获得更好的时间效率View Code 1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 #define N 1005 5 #define eps 1e-6 6 struct node 7 { 8 double a,b,v; 9 };10 node p[N];11 int n,k;12 int cmp(const void *a,const void *b)13 {14 node c=*(node *)a;15 node d=*(node *)b;16 if(c.v>d 阅读全文
posted @ 2012-05-07 23:19 zhenhai 阅读(221) 评论(0) 推荐(0)
摘要: 链接:http://poj.org/problem?id=297601分数规划,有一个序列ai,和一个序列bi,从中取出下标相等的m个数,使得∑a[i]/∑b[i]最大,刚开始用dp做的,TLE了,看了别人的题解,二分View Code 1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 #define N 1005 5 #define eps 1e-2 6 double a[N],b[N]; 7 double val[N]; 8 int cmp(const void *a,const 阅读全文
posted @ 2012-05-07 22:56 zhenhai 阅读(147) 评论(0) 推荐(0)
摘要: 链接:http://poj.org/problem?id=3104二分答案,对于进行枚举的答案,如果自然风干的时间比其要短,那就让它自然风干,否则就保证一个物体占用甩干机的时间最短,即为(time[i]-t)/(k-1)View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define N 100005 5 using namespace std; 6 int time[N]; 7 int n,k; 8 bool check(int t) 9 {10 int i;11 阅读全文
posted @ 2012-05-07 21:30 zhenhai 阅读(340) 评论(0) 推荐(0)
摘要: 链接:http://poj.org/problem?id=3335半平面交求多边形的核,多边形的核是多边形的一个区域,这个区域内的点与整个多边形内的任意一点的连线整个线段都在多边形内部,即对这个区域内的点来说,多边形内的所有点都是可见的。而半平面是说,一个二维空间被一个直线分为了两部分,确定这两部分可以用ax+by+c>=0或者ax+by+c<0来确定。这个是n^2的算法,但是对这道题已经足够了。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #inc 阅读全文
posted @ 2012-05-07 20:11 zhenhai 阅读(219) 评论(0) 推荐(0)
摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222AC自动机,用于这种在一个串中同时查找几个子串的出现个数,这是一道模板题,所以很有保存的价值,具体的ac自动机的匹配原理http://www.cppblog.com/mythit/archive/2009/04/21/80633.htmlView Code 1 #include<stdio.h> 2 #include<string.h> 3 struct node 4 { 5 int cnt; 6 node *next[26],*fail; 7 }*rt,qq[50... 阅读全文
posted @ 2012-05-07 00:09 zhenhai 阅读(182) 评论(0) 推荐(0)