
YbtOJ 二分算法课堂过关 例1 数列分段【二分】
发布日期:2021-05-07 13:09:44
浏览次数:21
分类:精选文章
本文共 724 字,大约阅读时间需要 2 分钟。
思路
乍一看,这道题不是原题吗???
直接二分一个最大值 O ( n ) O(n) O(n) 暴扫数组即可。 时间复杂度是 O ( n log n ) O(n\log n) O(nlogn). 注意:要判断 a [ i ] > x a[i]>x a[i]>x,直接输出 r e t u r n 0 return ~0 return 0。C o d e Code Code
#include#include #include using namespace std;int n,m,js,ans=2147483647;int a[100010];bool check(int x){ int sum=0,row=1; for(int i=1; i<=n; i++) { if(a[i]>x) return 0; if(sum+a[i]<=x) sum+=a[i]; else sum=a[i],row++; } if(row<=m) return 1; else return 0;}int main(){ cin>>n>>m; for(int i=1; i<=n; i++) { scanf("%d",&a[i]); js+=a[i]; } int l=1,r=js,mid=0; while(l<=r) { mid=(l+r)/2; if(check(mid)) r=mid-1,ans=min(ans,mid); else l=mid+1; } cout<
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年03月21日 14时44分53秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
vscode 编辑python 如何格式化
2021-05-09
seo 回忆录百度基本概念(一)
2021-05-09
重新整理数据结构与算法(c#)—— 算法套路二分法[二十四]
2021-05-09
用ThreadLocal来优化下代码吧
2021-05-09
netcore中使用session
2021-05-09
Android 开发学习进程0.25 自定义控件
2021-05-09
多媒体文件格式全解说(下)--图片
2021-05-09
淘宝WAP版小BUG分析
2021-05-09
NodeJS+Express+MongoDB
2021-05-09
(四十四)c#Winform自定义控件-水波-HZHControls
2021-05-09
c#winform主题实现的一个方法
2021-05-09
asp.net打印网页后自动关闭网页【无需插件】
2021-05-09
一个人开发的html整站源码分享网站就这么上线了
2021-05-09
SQLServer 查看耗时较多的SQL语句(转)
2021-05-09
【计算机网络】应用层
2021-05-09
【Maven】POM基本概念
2021-05-09
【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
2021-05-09
【设计模式】单例模式
2021-05-09
【SpringCloud】Hystrix熔断器
2021-05-09