摘要: http://acm.timus.ru/problem.aspx?space=1&num=1010方法一:单纯的枚举枚举每两点对,判断是否两点间的点都此两点的连线下方,计算斜率,找出最佳点对时间复杂度:O(N2) 方法二:改进后的枚举对方法一进行改进,是否可以从某种角度,找出突破点,减少枚举量呢?从数学角度入手,发现只有两点相邻,斜率能取得最大值,这样,只枚举相邻点即可时间复杂度:O(N)数据依然变态,听说全是longint的数据...我就用double过了...#include<stdio.h>#include<math.h>int main(){ int i 阅读全文
posted @ 2011-03-15 19:57 watana 阅读(207) 评论(0) 推荐(0) 编辑
摘要: http://acm.timus.ru/problem.aspx?space=1&num=1011本来就是个枚举的题目,但是俄罗斯人的数据果然很刁....如果先把P,Q转化为小数就会精度不够而在Test14出现WA...= =b#include<iostream>using namespace std;int main(){ int x; double p,q,peo1,peo2; while(cin>>p>>q) { x=100; while(1) { peo1=x/p-(1e-7); peo2=x/q; if(int(peo2+1)<=in 阅读全文
posted @ 2011-03-15 18:44 watana 阅读(144) 评论(0) 推荐(0) 编辑
摘要: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3727值得注意的是,这个题目的input数据还需要先按check in进行排序。#include<iostream>using namespace std;class renter{ public: int in; int leave; int rnum;}r[104];int main(){ int n,m; int room[104],index[104]; while(cin>>n>>m) { if(n==0&&m== 阅读全文
posted @ 2011-03-15 15:39 watana 阅读(198) 评论(0) 推荐(0) 编辑