题目链接:http://codeforces.com/contest/801/problem/D

题意:求出一个最大值D,使得一个给定的凸多边形任意点移动范围在半径为D的圆中,都不会构成一个凹都边形。

还有给出的多边形的点是按顺时针给出的。

题解:要使的任意点移动都不构成凹多边形,显然只要最极限的移动状态就是相邻的3个点在同一直线上。

于是只要遍历一遍所有的点然后计算出该点到相邻两点构成的直线距离d。D=min(d[i]/2);

所以这题还会用到一个公式点到线的距离

#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdio>
using namespace std;
const int M = 1e3 + 10;
double x[M] , y[M];
double getd(int pos , double a , double b , double c) {
return abs((a * x[pos] + b * y[pos] + c) / sqrt(a * a + b * b));
}
double cau(int a , int b , int c) {
double A , B , C;
A = (y[b] - y[c]) , B = x[c] - x[b] , C = (x[b] - x[c]) * y[b] - (y[b] - y[c]) * x[b];
return getd(a , A , B , C);
}
int main() {
int n;
scanf("%d" , &n);
for(int i = 0 ; i < n ; i++) {
scanf("%lf%lf" , &x[i] , &y[i]);
}
double D = 1.0 * 1e12;
for(int i = 0 ; i < n ; i++) {
if(i == n - 1) {
D = min(D , cau(i , i - 1 , 0));
}
else if(i == 0) {
D = min(D , cau(i , n - 1 , 1));
}
else {
D = min(D , cau(i , i - 1 , i + 1));
}
}
printf("%.10lf\n" , D / 2);
return 0;
}

最新文章

  1. Android handler的使用简单示例
  2. wordpress 安装 &quot;Table Prefix&quot; must not be empty.
  3. [Silverlight]监听指定控件(FrameworkElement)的依赖属性(DependencyProperty)的更改
  4. [蟒蛇菜谱]Python日志记录最佳实践
  5. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)
  6. 使用jailkit chroot更改ssh用户根目录
  7. Sybase PowerDesign 导入数据库结构formSqlserver
  8. The error occurred while setting parameters--索引 3 超出范围 sqlserver2008
  9. 【随笔】vmstat性能监测
  10. 运行QQ出现initialization failure 0x0000000c错误和浏览器上不了网
  11. python三级菜单
  12. KMP算法的C++实现
  13. 如何设置table的border-radius?
  14. TSSAO Temporal Screen-Space Ambient Occlusion (Unity3d 5 示例实现)
  15. 【转】AngularJs $location获取url参数
  16. 在SQL Server中添加Linked Server 图解版
  17. MongoDB学习2
  18. Chrome 自动填充的表单是淡黄色的背景怎么办!
  19. HDU-4371-Alice and Bob
  20. 【kafka学习之六】kakfa消息生产、消费示例

热门文章

  1. react开发中的小细节
  2. js常用事件列表
  3. SpringBoot:Web开发
  4. hadoop学习(二)----HDFS简介及原理
  5. 洛谷 P4124 [CQOI2016]手机号码
  6. ZooKeeper实现生产-消费者队列
  7. thinkphp 框架两种模式 两种模式:开发调试模式、线上生产模式
  8. Eclipse配置初始化(自用)
  9. 如何编写高质量的 JS 函数(1) -- 敲山震虎篇
  10. 企查查app新增企业数据抓取