三分
来源:互联网 发布:慧思达教育软件怎么样 编辑:程序博客网 时间:2024/04/28 13:18
#include<iostream>#include<cmath>#define EPS 1e-9int cas,n;int x[1000],y[1000];using namespace std;double calc(double d){ int i,j; double dis1,dis2,dis; dis = 0.0; for(i=1;i<n;i++) { for(j=i+1;j<=n;j++) { dis1 = fabs(cos(d)*(y[i]-y[j])-sin(d)*(x[i]-x[j])); //将一条线段在旋转坐标时沿X轴的长 dis2 = fabs(sin(d)*(y[i]-y[j])+cos(d)*(x[i]-x[j])); // 将一条线段在旋转坐标时沿y轴的长 if(dis<dis1) dis = dis1; if(dis < dis2) dis = dis2; } } return (dis*dis);}int main(){ double l,r,mid,midmid; double s1,s2; cin>>cas; while(cas--) { cin>>n; for(int i=1;i<=n;i++) cin>>x[i]>>y[i]; l = 0.0; r = acos(-1.0); while(r-l >= EPS) { mid = (l+r)/2; midmid = (mid+r)/2; s1 = calc(mid); s2 = calc(midmid); if(s1<s2) r = midmid; else l = mid; } printf("%0.2lf\n",s1<s2?s1:s2); } return 0;}
//通式
- int SanFen(int l,int r) //找凸点
- {
- while(l < r-1)
- {
- int mid = (l+r)/2;
- int mmid = (mid+r)/2;
- if( f(mid) > f(mmid) )
- r = mmid;
- else
- l = mid;
- }
- return f(l) > f(r) ? l : r;
- }
阅读全文
0 0
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- 三分
- bzoj1857 三分套三分
- 【BZOJ1857】三分套三分
- 【三分套三分】传送带
- 光环国际:从程序员到PM:外行可以领导内行吗?
- ES6字符串扩展
- git命令汇总图
- Fiddler工具:关于数据修改,你知道多少?!
- storm并行度详解
- 三分
- 网页登录之防字典爆破奇巧淫技
- Eclipse中Maven打war包
- C++11
- iOS GCD之dispatch_group的使用(多个文件并发上传)
- ES6模板字面量
- 查询字符串中某指定字符的个数
- Professional JS(11.4.4-Markup Insertion/Scrolling/Event Flow/Event Handler/Event Object(part))
- Java static 和 final 修饰符