题目大意:

给定的n个点 能圈出的最大范围中

若每50平方米放一头牛 一共能放多少头

求凸包 答案就是 凸包的面积/50 向下取整

  1. /// 求多边形面积
    // 凹多边形同样适用 因为点积求出的是有向面积
  2. double areaPg()
  3. {
  4. double res=;
  5. for(int i=;i<k-;i++) // 以t[0]为划分顶点
  6. res+=(t[i]-t[]).det(t[i+]-t[]);
  7. return res/2.0;
  8. }
  1. #include <cstdio>
  2. #include <algorithm>
  3. #include <cmath>
  4. #define INF 0x3f3f3f3f
  5. using namespace std;
  6.  
  7. const double eps=1e-;
  8. double add(double a,double b) {
  9. if(abs(a+b)<eps*(abs(a)+abs(b))) return ;
  10. return a+b;
  11. }
  12. struct P {
  13. double x,y;
  14. P(){};
  15. P(double _x,double _y):x(_x),y(_y){};
  16. P operator - (P p) {
  17. return P(add(x,-p.x),add(y,-p.y)); }
  18. P operator + (P p) {
  19. return P(add(x,p.x),add(y,p.y)); }
  20. P operator * (double d) {
  21. return P(x*d,y*d); }
  22. double dot(P p) {
  23. return add(x*p.x,y*p.y); }
  24. double det(P p) {
  25. return add(x*p.y,-y*p.x); }
  26. }p[], t[];
  27. int n, k;
  28. bool cmp(P a,P b) {
  29. if(a.x==b.x) return a.y<b.y;
  30. return a.x<b.x;
  31. }
  32. void andrew()
  33. {
  34. sort(p,p+n,cmp);
  35. k=;
  36. for(int i=;i<n;i++) {
  37. while(k> && (t[k-]-t[k-]).det(p[i]-t[k-])<)
  38. k--;
  39. t[k++]=p[i];
  40. }
  41. for(int i=n-,j=k;i>=;i--) {
  42. while(k>j && (t[k-]-t[k-]).det(p[i]-t[k-])<)
  43. k--;
  44. t[k++]=p[i];
  45. }
  46. if(n>) k--;
  47. }
  48. double areaPg()
  49. {
  50. double res=;
  51. for(int i=;i<k-;i++)
  52. res+=(t[i]-t[]).det(t[i+]-t[]);
  53. return res/2.0;
  54. }
  55. void solve()
  56. {
  57. andrew();
  58. int ans=areaPg()/;
  59. printf("%d\n",ans);
  60. }
  61.  
  62. int main()
  63. {
  64. while(~scanf("%d",&n)) {
  65. for(int i=;i<n;i++)
  66. scanf("%lf%lf",&p[i].x,&p[i].y);
  67. solve();
  68. }
  69.  
  70. return ;
  71. }

POJ 3348 /// 凸包+多边形面积的更多相关文章

  1. Cows - POJ 3348(凸包求面积)

    题目大意:利用n棵树当木桩修建牛圈,知道每头牛需要50平的生存空间,求最多能放养多少头牛. 分析:赤裸裸的求凸包然后计算凸包的面积. 代码如下: --------------------------- ...

  2. poj 1654 Area 多边形面积

    /* poj 1654 Area 多边形面积 题目意思很简单,但是1000000的point开不了 */ #include<stdio.h> #include<math.h> ...

  3. poj3348 Cows 凸包+多边形面积 水题

    /* poj3348 Cows 凸包+多边形面积 水题 floor向下取整,返回的是double */ #include<stdio.h> #include<math.h> # ...

  4. POJ 3348 Cows(凸包+多边形面积)

    Description Your friend to the south is interested in building fences and turning plowshares into sw ...

  5. poj 3348--Cows(凸包求面积)

    链接:http://poj.org/problem?id=3348 Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions:  ...

  6. 简单几何(向量旋转+凸包+多边形面积) UVA 10652 Board Wrapping

    题目传送门 题意:告诉若干个矩形的信息,问他们在凸多边形中所占的面积比例 分析:训练指南P272,矩形面积长*宽,只要计算出所有的点,用凸包后再求多边形面积.已知矩形的中心,向量在原点参考点再旋转,角 ...

  7. 简单几何(凸包+多边形面积) POJ 3348 Cows

    题目传送门 题意:求凸包 + (int)求面积 / 50 /************************************************ * Author :Running_Tim ...

  8. POJ 3348:Cows 凸包+多边形面积

    Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7739   Accepted: 3507 Description ...

  9. poj 3348(凸包面积)

    Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8063   Accepted: 3651 Description ...

随机推荐

  1. chkconfig 与 systemctl

    chkconfig命令 主要用来更新(启动或停止)和查询系统服务(service)的运行级信息,用于维护/etc/rc[0-6].d目录的命令行工具. chkconfig -–add httpd 增加 ...

  2. delphi JPG转为BMP存入数据库

    delphi  JPG转为BMP存入数据库   必须在uses中引用JPEG procedure TForm1.BitBtn3Click(Sender: TObject);varjpg:TJPEGim ...

  3. thinkphp 模型调试

    调试执行的SQL语句 在模型操作中 ,为了更好的查明错误,经常需要查看下最近使用的SQL语句,我们可以用getLastsql方法来输出上次执行的sql语句.例如: $User = M("Us ...

  4. thinkphp 动态配置

    之前的方式都是通过预先定义配置文件的方式,而在具体的操作方法里面,我们仍然可以对某些参数进行动态配置(或者增加新的配置),主要是指那些还没有被使用的参数. 设置新的值: C('参数名称','新的参数值 ...

  5. 帝国cms过滤采集内容

    在过滤广告正则的[!--ad--]标识处,加上过滤正则即可 https://jingyan.baidu.com/article/c275f6bae3ea0de33d75671c.html

  6. C/C++:Windows编程—调用DLL程序的2种方法(转载)

    文章为转载,原文出处https://blog.csdn.net/qq_29542611/article/details/86618902 前言先简单介绍下DLL.DLL:Dynamic Link Li ...

  7. docker service 集群创建

    docker service create /新建docker集群--name webwork /集群的名称--replicas 3/ 启动3个节点--network my-network/ netw ...

  8. day27-面向对象进阶

    #!/usr/bin/env python # -*- coding:utf-8 -*- # ----------------------------------------------------- ...

  9. PAT_A1106#Lowest Price in Supply Chain

    Source: PAT A1106 Lowest Price in Supply Chain (25 分) Description: A supply chain is a network of re ...

  10. spark-sql性能优化之——动态实现多个列应用同一个函数

    在对一个dataframe的多个列实现应用同一个函数时,是否能动态的指定? 例如: 对A,B,C三列实现分组统计 1.初始化spark,构建DF val spark = SparkSession.bu ...