开始就是瞄着三分来做的,但看题目,感觉是旋转卡壳吧。。可是,用了旋转卡壳还三分条毛啊。。

可以令正方形不旋转,而改为令点绕原点旋转,这样,很好的解决了问题,就可以比较X轴最大长度和Y轴最大长度来确定正方形的边长了。然后三分旋转角度就可以了。

#include <iostream>
#include <cmath>
#include <cstdio>
#include <algorithm>
using namespace std; struct Point{
double x,y;
};
Point point[50];
int n;
Point tmp[50]; const double inf=1e10; double cal(double ang){
double x,y;
double xmax=-inf,xmin=inf;
double ymax=-inf,ymin=inf;
for(int i=1;i<=n;i++){
x=cos(ang)*point[i].x-sin(ang)*point[i].y;
y=cos(ang)*point[i].y+sin(ang)*point[i].x;
xmax=max(xmax,x);
xmin=min(xmin,x);
ymax=max(ymax,y);
ymin=min(ymin,y);
}
return max((xmax-xmin),(ymax-ymin))*max(xmax-xmin,ymax-ymin);
} int main(){
int T;
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%lf%lf",&point[i].x,&point[i].y);
}
double l=0,r=180; double m,mm;
while(l+(1e-8)<r){
m=l+(r-l)/3;
mm=r-(r-l)/3;
if(cal(m)>cal(mm))
l=m;
else r=mm;
}
printf("%.2lf\n",cal(l));
}
return 0;
}

  

POJ 3301的更多相关文章

  1. POJ 3301 Texas Trip (三分)

    题目链接 题意 : 给你若干个点,让你找最小的正方形覆盖这所有的点.输出面积. 思路 : 三分枚举正方形两对边的距离,然后求出最大,本题用的是旋转正方形,也可以用旋转点,即点的相对位置不变. 正方形从 ...

  2. 三分 --- POJ 3301 Texas Trip

    Texas Trip Problem's Link:   http://poj.org/problem?id=3301 Mean: 给定n(n <= 30)个点,求出包含这些点的面积最小的正方形 ...

  3. POJ 3301:Texas Trip(计算几何+三分)

    http://poj.org/problem?id=3301 题意:在二维平面上有n个点,每个点有一个坐标,问需要的正方形最小面积是多少可以覆盖所有的点. 思路:从第二个样例可以看出,将正方形旋转45 ...

  4. poj 3301 Texas Trip 三分法

    思路:三分法求解凸函数的极值,三分法介绍在这:http://hi.baidu.com/czyuan_acm/item/81b21d1910ea729c99ce33db 很容易就可以推出旋转后的坐标: ...

  5. poj 3301 Texas Trip(几何+三分)

    Description After a day trip with his friend Dick, Harry noticed a strange pattern of tiny holes in ...

  6. POJ 3301 Texas Trip

    题目大意: 在二维坐标系中给出一些点.求能覆盖他们的最小正方形的面积(正方形的边不一定平行坐标轴) 解题思路: 对于一个点.若坐标轴旋转a度(弧度制).那么X'=X*cos(a)-Y*sin(a);Y ...

  7. POJ 3301 三分(最小覆盖正方形)

    题意:      给你n个点,让你找一个最小的正方形去覆盖所有点.思路:       想一下,如果题目中规定正方形必须和x轴平行,那么我们是不是直接找到最大的x差和最大的y差取最大就行了,但是这个题目 ...

  8. poj很好很有层次感(转)

    OJ上的一些水题(可用来练手和增加自信) (POJ 3299,POJ 2159,POJ 2739,POJ 1083,POJ 2262,POJ 1503,POJ 3006,POJ 2255,POJ 30 ...

  9. POJ题目分类推荐 (很好很有层次感)

    著名题单,最初来源不详.直接来源:http://blog.csdn.net/a1dark/article/details/11714009 OJ上的一些水题(可用来练手和增加自信) (POJ 3299 ...

随机推荐

  1. 数据库技术_Orcale技术(0002)_5分钟会用存储过程_存储过程实例

    基础技术: 样例业务功能: 1.依据传入的类型A_TYPE联合查询PROCEDURE_TEST_A表.PROCEDURE_TEST_A_SUB表中的数据.并显示主要内容. 2.依据传入的类型A_TYP ...

  2. AWS之VPC、Subnet与CIDR

    什么是CIDR? CIDR是英文Classless Inter-Domain Routing的缩写,中文是无类别域间路由,是一个在Internet上创建附加地址的方法,这些地址提供给服务提供商(ISP ...

  3. 2016.04.25,英语,《Vocabulary Builder》Unit 18

    capit, from the Latin word for 'head', caput ['keɪpət] n.头,首 , turns up in some pretty important pla ...

  4. typescript 基本数据类型

    1.boolen 布尔类型 let boolen1: boolen = false; 2.number 数字类型 let num1: number = 0b110;//二进制 let num2: nu ...

  5. 48.自用qss

    /* R1 */ QDialog { background-image: url(:/images/background.png); } /* R2 */ QLabel { font: 9pt; co ...

  6. POJ 1654 乱搞题?

    题意: 从一个点出发,8个方向,给出每一步的方向,求出走过的路径形成的多边形的面积. 思路: 先普及一下向量叉乘.. (摘自度娘) 也就是x1y2-x2y1. 那这不就好说了嘛. 一个经过原点的闭合多 ...

  7. Codeforces Round #445

    ACM ICPC 每个队伍必须是3个人 #include<stdio.h> #include<string.h> #include<stdlib.h> #inclu ...

  8. VHDL之Aggregate

    Definition A basic operation that combines one or more values into a composite value of a record or ...

  9. 使用Windows上Eclipse远程调试Linux上的Hadoop

    一.设置Eclipse运行用户     如果以与Hadoop运行用户名(比如grid)不同的用户运行Eclipse,则无法对Hadoop运行用户所属的文件进行管理,运行Map/Reduce程序也会报& ...

  10. 【技术累积】【点】【java】【8】maven常用命令(持续更新)

    建立 mvn archetype:generate -DgroupId=com.andy.test -DartifactId=test-project -Dversion=0.0.1-SNAPSHOT ...