[luogu2115][USACO14MAR]破坏Sabotage(二分)
来源:互联网 发布:淘宝与客服聊天图片 编辑:程序博客网 时间:2024/06/05 11:44
题目:
我是超链接
题解:
二分答案
如果二分的x太大,则sum[n]-(sum[j]-sum[i-1]) / (n-j+i-1) < x
太小:sum[n]-(sum[j]-sum[i-1]) / (n-j+i-1) >= x
然后画一个简单的柿子
以太小为例:sum[n]-sum[j]-nx+jx >=-sum[i-1]+(i-1)x 即如果太小就满足这个柿子,那么一旦右边的max > 左边,就不是太小啊,往大里换
代码:
#include <cstdio>#include <cmath>#include <iostream>using namespace std;const double eps=1e-5;double sum[100005];int n,i;bool check(double x){ double lj=-sum[1]+x; for (int j=2;j<n;j++) { if (sum[n]-sum[j]-n*x+j*x<lj) return false; lj=max(lj,-sum[j]+j*x); } return true;}int main(){ int a; scanf("%d",&n); for (i=1;i<=n;i++) scanf("%d",&a),sum[i]=sum[i-1]+a; double l=1,r=10000; while (r-l>=eps) { double mid=(l+r)/2.0; if (check(mid)) l=mid; else r=mid; } printf("%.3lf",r);}
阅读全文
0 0
- [luogu2115][USACO14MAR]破坏Sabotage(二分)
- bzoj 3477: [Usaco2014 Mar]Sabotage luogu 【P2115】 [USACO14MAR]破坏Sabotage(二分)
- P2115 [USACO14MAR]破坏Sabotage
- 洛谷 P2115 [USACO14MAR]破坏Sabotage
- [Usaco14Mar] Sabotage
- Sabotage 二分
- 二分答案 [Usaco2014 Mar]Sabotage
- [bzoj3477][Usaco2014 Mar][二分]Sabotage
- Sabotage
- URAL 1290. Sabotage (sortings)
- URAL 1290. Sabotage(STL & 模拟啊)
- UVA 10480 Sabotage (最大流)
- UVA 10480 - Sabotage (最大流)
- UVa 10480 Sabotage ( 最小割最大流定理)
- Sabotage UVA
- 破坏
- UVA 10480 Sabotage (最大流最小割输出路劲)
- Uva-10480 Sabotage
- 小数的四舍五入实现
- Kaggle比赛知识简要
- 计蒜客 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L题
- sudo apt-get install winbind
- 【openCV入门笔记1】跟着浅墨博主入门时发生的错误解决办法
- [luogu2115][USACO14MAR]破坏Sabotage(二分)
- loadrunner Web_类函数之web_sjis_to_euc_param()
- SAS Notes---2017/9/26
- 行为型模式
- 【PHP】static静态变量,静态方法
- 2017.9.26 于神之怒加强版 失败总结
- 使用Log4j将程序日志实时写入Kafka
- 字符串内存
- 程序员业余赚钱致富的10种方法