给出多条木棍,问你用这些木棍所能组成的多个三角形面积最大和是多少

贪心做,所以先排序,但是遍历的过程中不能从前向后遍历

因为可能会存在4条边取后三条边是最优的类似情况

正解是从后向前遍历,用海伦公式求解

代码如下:

/* ***********************************************Author        :yinhuaEmail         :yinwoods@163.comFile Name     :b.cppCreated Time  :2014年12月03日 星期三 12时10分03秒************************************************ */#include <cmath>
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>
#include <algorithm>
#define MAXN 110
#define LL long long
using namespace std;double a[MAXN];bool judge(int i) {if(a[i] < a[i-1]+a[i-2])return true;return false;
}double area(int i) {double b = a[i];double c = a[i-1];double d = a[i-2];double p = (b+c+d)/2.0;return sqrt(1.0*p*(p-d)*(p-b)*(p-c));
}int main() {int n;while(~scanf("%d", &n) && n) {for(int i=0; i<n; ++i) {scanf("%lf", &a[i]);}double ans = 0.0;sort(a, a+n);for(int i=n-1; i>1; ) {if(judge(i)) {ans += area(i);i -= 3;}else --i;}printf("%.2lf\n", ans);}return 0;
}

hdu 5135 Little Zu Chongzhi's Triangles(计算几何:三角形面积)相关推荐

  1. URAL 7077 Little Zu Chongzhi's Triangles(14广州I)

    题目传送门 题意:有n根木棍,三根可能能够构成三角形,选出最多的三角形,问最大面积 分析:看到这个数据范围应该想到状压DP,这次我想到了.0010101的状态中,1表示第i根木棍选择,0表示没选,每一 ...

  2. UVALive 7077 Little Zu Chongzhi's Triangles (有序序列和三角形的关系)

    这个题--我上来就给读错了,我以为最后是一个三角形,一条边可以由多个小棒组成,所以想到了状态压缩各种各样的东西,最后成功了--结果发现样例过不了,三条黑线就在我的脑袋上挂着,改正了以后我发现N非常小, ...

  3. 计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439

    计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439 题意: 二 维 平 面 内 , 给 定 3 个 点 的 坐 标 , 二维平面内,给定3个点的坐标, ...

  4. 计算几何(三角形内切圆 + 海伦公式) - InCircle - UVA 11524

    计算几何(三角形内切圆 + 海伦公式) - InCircle - UVA 11524 题意: 对于△ABC,对于\triangle ABC,对于△ABC, 假设其内切圆与其相切于P.Q.R三点,假设其 ...

  5. Codeforces 1025F Disjoint Triangles (计算几何)

    题目链接 https://codeforces.com/contest/1025/problem/F 题解 一道挺有意思的计算几何题 qwq 关键在于注意到任何一对不相交的三角形之间,一定有 \(2\ ...

  6. hdu 4717 The Moving Points(三分+计算几何)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4717 说明下为啥满足三分: 设y=f(x) (x>0)表示任意两个点的距离随时间x的增长,距离y ...

  7. uva 12426 Counting Triangles 计算几何

    题意:给一个凸多边形,求以凸多边形的顶点为顶点的三角形中,有多少个面积小于给定数值K? 思路:旋转卡壳+二分答案 时间复杂度:n^2logn 1 #include<iostream> 2 ...

  8. [hdu 2826] The troubles of lmy [简单计算几何 - 相似]

    orz.多组数据忘了初始化所以wa了好久.. (本题因为很特殊所以不需要判断对称(题目上只给了旋转)) #include<cstdio> #include<iostream> ...

  9. HDU 3934 Summer holiday(凸包内接最大三角形)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3934 题意:给出n个点,从中找出三个点使得面积最大. 思路:旋转卡壳模板题:首先求凸包,在旋转求最大面 ...

最新文章

  1. 【JavaScript总结】JavaScript语法基础:JS编码
  2. 驰骋工作流引擎是如何实现自动更新的?
  3. 可以打开md_热议MD有病!旭旭宝宝怒斥CG偷开“录像轮播”:人家不开还不行?...
  4. oracle中导入dmp数据注意事项
  5. python爬虫教程视频-python爬虫(入门教程、视频教程)
  6. win7 以太网媒体断开怎么处理_工业以太网协议的历史及其优势
  7. leetcode 刷题指南
  8. hdu-5723 Abandoned country(最小生成树+期望)
  9. Fragment学习(二): 管理Fragment和Fragment通讯
  10. USB-CAN模块使用
  11. linux的shell版url爬虫
  12. CSU oj 1681 Adjoin(dfs求树上最长路径)(搜索)
  13. 2019/3/20统计单词数
  14. php微信银行卡rsa加密,企业付款到银行卡用RSA公钥加密银行卡号失败
  15. PHP实战项目(仿糯米网)
  16. matlab 广义最小二乘,广义最小二乘辨识的matlab实现
  17. 设计模式-请假流程-责任链模式
  18. LeCun:赋予机器 “常识” ,重新设计神经网络将是AI 研究重点
  19. C/C++新手学习项目(三) 魔兽世界之三:开战
  20. 程序人生(一)从“道·法·术·器“”的角度来谈谈程序的境界

热门文章

  1. Oracle DBA_EXTENTS视图 与 DBA_SEGMENTS视图
  2. kubesphere3.0忘记admin的密码
  3. Footprint Analytics:音乐 NFT 极有可能成为引领 NFT 行业的下一个风口
  4. 深圳市及各区设备补贴条件及资助标准
  5. Oracle-PDB资源限制
  6. pam_succeed_if(sshd:auth): requirement “uid 」= 1000“ not met by user “root“
  7. 考研中出现过的泰勒展开式
  8. 关于复习《网络经济与企业管理》的一点感受
  9. HTML中让表单input等文本框为只读不可编辑的方法
  10. android dismiss方法,Android编程之DialogFragment源码详解(一)注:对 dismissAllowingStateLoss()理解...