hdu 5135 Little Zu Chongzhi's Triangles(计算几何:三角形面积)
给出多条木棍,问你用这些木棍所能组成的多个三角形面积最大和是多少
贪心做,所以先排序,但是遍历的过程中不能从前向后遍历
因为可能会存在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(计算几何:三角形面积)相关推荐
- URAL 7077 Little Zu Chongzhi's Triangles(14广州I)
题目传送门 题意:有n根木棍,三根可能能够构成三角形,选出最多的三角形,问最大面积 分析:看到这个数据范围应该想到状压DP,这次我想到了.0010101的状态中,1表示第i根木棍选择,0表示没选,每一 ...
- UVALive 7077 Little Zu Chongzhi's Triangles (有序序列和三角形的关系)
这个题--我上来就给读错了,我以为最后是一个三角形,一条边可以由多个小棒组成,所以想到了状态压缩各种各样的东西,最后成功了--结果发现样例过不了,三条黑线就在我的脑袋上挂着,改正了以后我发现N非常小, ...
- 计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439
计算几何(三角形的外接圆+圆内接正多边形) - Temple of Dune - UVA 10439 题意: 二 维 平 面 内 , 给 定 3 个 点 的 坐 标 , 二维平面内,给定3个点的坐标, ...
- 计算几何(三角形内切圆 + 海伦公式) - InCircle - UVA 11524
计算几何(三角形内切圆 + 海伦公式) - InCircle - UVA 11524 题意: 对于△ABC,对于\triangle ABC,对于△ABC, 假设其内切圆与其相切于P.Q.R三点,假设其 ...
- Codeforces 1025F Disjoint Triangles (计算几何)
题目链接 https://codeforces.com/contest/1025/problem/F 题解 一道挺有意思的计算几何题 qwq 关键在于注意到任何一对不相交的三角形之间,一定有 \(2\ ...
- hdu 4717 The Moving Points(三分+计算几何)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4717 说明下为啥满足三分: 设y=f(x) (x>0)表示任意两个点的距离随时间x的增长,距离y ...
- uva 12426 Counting Triangles 计算几何
题意:给一个凸多边形,求以凸多边形的顶点为顶点的三角形中,有多少个面积小于给定数值K? 思路:旋转卡壳+二分答案 时间复杂度:n^2logn 1 #include<iostream> 2 ...
- [hdu 2826] The troubles of lmy [简单计算几何 - 相似]
orz.多组数据忘了初始化所以wa了好久.. (本题因为很特殊所以不需要判断对称(题目上只给了旋转)) #include<cstdio> #include<iostream> ...
- HDU 3934 Summer holiday(凸包内接最大三角形)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3934 题意:给出n个点,从中找出三个点使得面积最大. 思路:旋转卡壳模板题:首先求凸包,在旋转求最大面 ...
最新文章
- 【JavaScript总结】JavaScript语法基础:JS编码
- 驰骋工作流引擎是如何实现自动更新的?
- 可以打开md_热议MD有病!旭旭宝宝怒斥CG偷开“录像轮播”:人家不开还不行?...
- oracle中导入dmp数据注意事项
- python爬虫教程视频-python爬虫(入门教程、视频教程)
- win7 以太网媒体断开怎么处理_工业以太网协议的历史及其优势
- leetcode 刷题指南
- hdu-5723 Abandoned country(最小生成树+期望)
- Fragment学习(二): 管理Fragment和Fragment通讯
- USB-CAN模块使用
- linux的shell版url爬虫
- CSU oj 1681 Adjoin(dfs求树上最长路径)(搜索)
- 2019/3/20统计单词数
- php微信银行卡rsa加密,企业付款到银行卡用RSA公钥加密银行卡号失败
- PHP实战项目(仿糯米网)
- matlab 广义最小二乘,广义最小二乘辨识的matlab实现
- 设计模式-请假流程-责任链模式
- LeCun:赋予机器 “常识” ,重新设计神经网络将是AI 研究重点
- C/C++新手学习项目(三) 魔兽世界之三:开战
- 程序人生(一)从“道·法·术·器“”的角度来谈谈程序的境界
热门文章
- Oracle DBA_EXTENTS视图 与 DBA_SEGMENTS视图
- kubesphere3.0忘记admin的密码
- Footprint Analytics:音乐 NFT 极有可能成为引领 NFT 行业的下一个风口
- 深圳市及各区设备补贴条件及资助标准
- Oracle-PDB资源限制
- pam_succeed_if(sshd:auth): requirement “uid 」= 1000“ not met by user “root“
- 考研中出现过的泰勒展开式
- 关于复习《网络经济与企业管理》的一点感受
- HTML中让表单input等文本框为只读不可编辑的方法
- android dismiss方法,Android编程之DialogFragment源码详解(一)注:对 dismissAllowingStateLoss()理解...