hdu 5720(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5720
官方题解:
考虑三角形三条边a,b,c (a≥b) 的关系a−b<c,a+b>c ,即c∈(a−b,a+b) 。令加入的边为c ,枚举所有边作为a 的情况。对于所有可行的b ,显然与a 相差最小的可以让(a−b,a+b) 覆盖范围最大,所以可以贪心地选择不大于a 的最大的b 。于是我们可以先将边按长度排序,然后a i 和a i+1 建一条线段。线段并是不合法的部分。将所有线段按左端点排序,按序扫描一遍,过程中统计答案即可。时间复杂度O(Tn logn) 。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;typedef long long LL;
typedef pair<LL,LL> Pi;
LL x[100005];
Pi pr[100005];int main()
{int t;scanf("%d",&t);while(t--){int n;LL L,R;scanf("%d%lld%lld",&n,&L,&R);for(int i = 0; i < n; ++i) scanf("%lld",&x[i]);sort(x,x+n);for(int i = 0; i < n-1; ++i){pr[i].first = x[i+1]-x[i];pr[i].second = x[i+1]+x[i];}sort(pr,pr+n-1);LL ans = 0;LL mx = L;for(int i = 0; i < n-1 && pr[i].first <= R; ++i){if(pr[i].first >= mx) ans += (pr[i].first-mx+1);mx = max(mx,pr[i].second);}ans += max(0LL,R+1-mx);printf("%lld\n",ans);}return 0;
}
hdu 5720(贪心)相关推荐
- hdu 4982 贪心构造序列
http://acm.hdu.edu.cn/showproblem.php?pid=4982 给定n和k,求一个包含k个不相同正整数的集合,要求元素之和为n,并且其中k-1的元素的和为完全平方数 枚举 ...
- hdu 4974 贪心
http://acm.hdu.edu.cn/showproblem.php?pid=4974 n个人进行选秀,有一个人做裁判,每次有两人进行对决,裁判可以选择为两人打分,可以同时加上1分,或者单独为一 ...
- HDU2111 Saving HDU【贪心】
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- 杭电 2111 Saving HDU (贪心)
Description 话说上回讲到海东集团面临内外交困,公司的元老也只剩下XHD夫妇二人了.显然,作为多年拼搏的商人,XHD不会坐以待毙的. 一天,当他正在苦思冥想解困良策的时候,突然想到了自 ...
- hdu 5501(贪心+01背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5501 现在有A1,B1,C1和A2,B2,C2这两道题,如果先做1再做2的得分是A1-B1*C1+A2 ...
- hdu 1055(贪心)
思路:寻找最大权值,合并这个节点和他的父亲节点,记下这两个节点的拓扑序列,同时新节点的权值为这些节点的算术平均值,直到只有一个节点.因为这个节点必定是访问该节点的父节点之后第一个访问的节点. 证明: ...
- hdu 2570 贪心
贪心的经典题型 该死的精度问题,WA了好几次,以后能用乘的绝不用除!! #include<iostream> #include<algorithm> #include<c ...
- HDU2111 Saving HDU 【贪心】
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- hdu 1789 贪心算法
http://acm.hdu.edu.cn/showproblem.php?pid=1789 此题大致思路,既然要计算最少扣多少分,就要在最后时间之前把扣分最多的作业先安排了.如果扣分一样多的话,那必 ...
最新文章
- Serial,Parallel,CMS,G1四大GC收集器特点小结
- UserWarning: Update your `Conv2D`
- 设计案例——点和圆的关系
- Network device support
- string转map集合_Map、斗地主案例
- 15行代码AC——ZOJ - 4118 Stones in the Bucket(思维题+优化方案)(第十届山东省ACM程序设计竞赛F题)
- Android开发之修改项目的仓库地址亲测有效
- Android心得8--Internet
- 数论 —— 整数分解
- Dubbo场景场景配置用法详解
- PS打造油画般的风景人像
- 7.大数据架构详解:从数据获取到深度学习 --- 批处理技术
- windows 下 新建 点开头的文件和文件夹
- 原来闭包也可以这么简单
- Sum nyoj 欧拉定理简单运用(数论入门)
- TSC2004 电阻式触摸屏控制器驱动问题
- linux 释放 文件缓存,Linux中手动释放缓存的方法
- 虚拟小镇意识保存~认识脑电波
- php base64保存为图片
- android图片凹凸效果,图像滤镜处理算法:柔化、光照、放大镜、哈哈镜
热门文章
- 应用指定显示到副屏_彩易达LED显示屏在税务局的应用-彩易达,LED显示屏,在税务局的应用-LED屏行业...
- 神策数据:围绕跨境电商“人货场”,数据如何助力品牌乘风出海?
- 深度洞见|从起源到应用,一文详解营销界爆火的 CDP
- 最新发布丨金融新基建系列报告:银行业六大中期趋势展望
- 百果园付凌峰:线上单月 1.2 亿背后的数据化运营
- 透过 OKR 进行项目过程管理 1
- CSS height:100%无效
- MyEclipse中文网发布
- django 灵活的后台查询
- proximinty