Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] C A Weakness and Poorness (三分)
显然f(x)是个凹函数,三分即可,计算方案的时候dp一下。eps取大了会挂精度,指定循环次数才是正解。
#include<bits/stdc++.h> using namespace std;
const double eps = 1e-;
const int maxn = 2e5+;
double a[maxn];
double d1[maxn],d2[maxn];
int n;
inline double cal(double x)
{
double a1 = ., a2 = .;
for(int i = ; i <= n; i++){
d1[i] = max(.,d1[i-])+a[i]-x;
a1 = max(a1,d1[i]);
d2[i] = min(.,d2[i-])+a[i]-x;
a2 = min(a2,d2[i]);
}
return max(fabs(a1),fabs(a2));
} int main()
{
//freopen("in.txt","r",stdin);
scanf("%d",&n);
for(int i = ; i <= n; i++) scanf("%lf",a+i);
double L = -1e4, R = 1e4;
double M1v,M2v;
while(R-L>eps){
double M1 = L+(R-L)/, M2 = L+(R-L)/*;
M1v = cal(M1), M2v = cal(M2);
if(abs(M1v-M2v)<eps){
L = M1; R = M2;
}else {
if(M1v > M2v){
L = M1;
}else {
R = M2;
}
}
}
printf("%.15lf",(cal(L)+cal(R))/);
return ;
}
Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] C A Weakness and Poorness (三分)的更多相关文章
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] C. Weakness and Poorness 三分 dp
C. Weakness and Poorness Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/5 ...
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] B. "Or" Game 线段树贪心
B. "Or" Game Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/578 ...
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] B. "Or" Game
题目链接:http://codeforces.com/contest/578/problem/B 题目大意:现在有n个数,你可以对其进行k此操作,每次操作可以选择其中的任意一个数对其进行乘以x的操作. ...
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] E. Weakness and Poorness 三分
E. Weakness and Poorness time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] A. Raising Bacteria【位运算/二进制拆分/细胞繁殖,每天倍增】
A. Raising Bacteria time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] D 数学+(前缀 后缀 预处理)
D. "Or" Game time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] E 三分+连续子序列的和的绝对值的最大值
E. Weakness and Poorness time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] B "Or" Game (贪心)
首先应该保证二进制最高位尽量高,而位数最高的数乘x以后位数任然是最高的,所以一定一个数是连续k次乘x. 当出现多个最高位的相同的数就枚举一下,先预处理一下前缀后缀即可. #include<bit ...
- Codeforces Round #320 (Div. 1) [Bayan Thanks-Round] A A Problem about Polyline(数学)
题目中给出的函数具有周期性,总可以移动到第一个周期内,当然,a<b则无解. 假设移动后在上升的那段,则有a-2*x*n=b,注意限制条件x≥b,n是整数,则n≤(a-b)/(2*b).满足条件的 ...
随机推荐
- Ubuntu中的minicom
需要更新一下软件源: sudo apt-get update 安装 在终端中输入sudo apt-get install minicom 配置 输入sudo minicom -s,注意前边一定要加su ...
- php中使用mysqli和pdo扩展,测试连接mysql数据库的效率。
<?php /** * 测试pdo和mysqli的连接效率,各连接100次mysql数据库 */ header("Content-type:text/html;charset=utf8 ...
- HDU - 4821 String(窗口移动+map去重+hash优化)
String Given a string S and two integers L and M, we consider a substring of S as “recoverable” if a ...
- Android 自定义ViewGroup 实战篇 -> 实现FlowLayout
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38352503 ,本文出自[张鸿洋的博客] 1.概述 上一篇已经基本给大家介绍了如 ...
- echarts学习的一些笔记
工具栏组件 Show 是否显示 Feature 具体显示的功能 saveAslmage 保存图片 Restore 还原 dataZoom 缩放视图 magicType 动态类型切换 toltip组 ...
- 【转】mysql中set autocommit=0与start transaction的关系
在mysql中用户的任何一个更新操作(写操作)都被视为一个事务,set autocommit=0指事务非自动提交,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit& ...
- mysql 快速导入大SQL文件
进入mysql mysql -u root -p 创建数据库 CREATE DATABASE 数据库名; 设置参数 set sql_log_bin=OFF;//关闭日志 ;//关闭autocommit ...
- hdu1693Eat the Trees(插头dp)
传送门 先坑着,等啥时候会了再来填坑 不得不说思路真的是很妙啊 //minamoto #include<iostream> #include<cstdio> #include& ...
- 洛谷P4052 [JSOI2007]文本生成器(AC自动机)
传送门 好像这题的确只能用AC自动机做了……Aufun大佬太强啦 正着难我们反着做,用总共单词个数减去没有一个单词都不包含的 然后考虑怎么处理一个单词都不包含的,就是跑不到单词的结尾节点 定义$f[i ...
- Fiddler设置断点修改Request和Response【转】
Fiddler设置断点修改Request和Response 设置断点的两种方式:工具栏和命令 1.工具栏:Rules -> Automatic Breakpoints(automatic [ɔː ...