博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CF578C:Weakness and Poorness——题解
阅读量:6680 次
发布时间:2019-06-25

本文共 811 字,大约阅读时间需要 2 分钟。

——————————————————————————

题目大意:序列的数-x,求最大连续子序列和的绝对值的最小值。

————————————————————————————

没有绝对值的话,明显是单调增的。

将数全部翻转,明显是单调减的。

所以显然是单峰函数,可以三分x做。

要注意精度,循环200就差不多了,不要循环太多次不然会TLE。

#include
#include
#include
#include
#include
using namespace std;const int M=200001;double a[M];int n;double suan(double m){ double ans=0,sum=0; for(int i=1;i<=n;i++){ sum+=a[i]-m; if(sum<0)sum=0; ans=max(ans,sum); } sum=0; for(int i=1;i<=n;i++){ sum+=m-a[i]; if(sum<0)sum=0; ans=max(ans,sum); } return ans;}double sanfen(double l,double r){ for(int i=1;i<=200;i++){ double midl=(r-l)/3+l; double midr=r-(r-l)/3; if(suan(midl)

 

转载于:https://www.cnblogs.com/luyouqi233/p/8006170.html

你可能感兴趣的文章
微信小程序开发之表单验证(WxValidate使用)
查看>>
Oracle DataBase 各种版本资源路径汇总
查看>>
linux文件中的目录的理解
查看>>
openstack运维实战系列(十八)nova与ceph结合
查看>>
我的友情链接
查看>>
高质量的C代码.释放内存
查看>>
C++static成员函数和static成员的学习
查看>>
缓存名称服务器
查看>>
switch3 STP、RSTP
查看>>
IPv6路由协议
查看>>
java 把string分割并转换为Long
查看>>
python-44: cookielib的使用
查看>>
LarryZeal
查看>>
Mysql+oracle+redis
查看>>
理解环境变量
查看>>
linux磁盘基础知识
查看>>
史上最详细的vsftpd配置文件讲解
查看>>
zabbix管理二之zabbix的安装
查看>>
我的友情链接
查看>>
HTML5 服务器推送事件(Server-sent Events)实战开发
查看>>