09:LGTB 学分块
时间:2022-05-08
本文章向大家介绍09:LGTB 学分块,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB描述
LGTB 最近在学分块,但是他太菜了,分的块数量太多他就混乱了,所以只能分成 3 块
今天他得到了一个数组,他突然也想把它分块,他想知道,把这个数组分成 3 块,块可以为空。假设 3 块各自的和中的最大值最小
请输出分完之后 3 块中的最大值
输入输入第一行包含一个整数 n 代表数组大小 接下来 n 个整数 a1 , a2 , ..., a n ,代表数组输出输出包含 1 个整数,代表分块完成后 3 块中的最大值样例输入
10
2 5 1 4 7 3 6 2 5 1
样例输出
14
提示对于 40% 的数据,1 ≤ n ≤ 10 对于 70% 的数据,1 ≤ n ≤ 1e3 对于 100% 的数据,1 ≤ n ≤ 1e5 , 1 ≤ ai ≤ 1e7
全局题号7414提交次数14尝试人数7通过人数2
你的提交记录
# |
结果 |
时间 |
---|---|---|
4 |
Accepted |
07-16 |
3 |
Wrong Answer |
07-16 |
2 |
Time Limit Exceeded |
07-16 |
1 |
Time Limit Exceeded |
07-16 |
- ©2002-2013 POJ 沪ICP备12005590号-3
二分答案秒过
以后写二分答案不写l++了,慢的要死。。
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 #include<cmath>
5 #define lli long long int
6 using namespace std;
7 const lli MAXN=100000001;
8 void read(lli &n)
9 {
10 char c='+';lli x=0;bool flag=0;
11 while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
12 while(c>='0'&&c<='9')
13 x=(x<<1)+(x<<3)+c-48,c=getchar();
14 flag==1?n=-x:n=x;
15 }
16 lli a[MAXN];
17 lli l,r;
18 lli n;
19 bool pd(lli num)
20 {
21 lli now=0;
22 lli tot=0;
23 for(lli i=1;i<=n;i++)
24 {
25 if(now+a[i]<num)
26 now+=a[i];
27 else if(now+a[i]==num)
28 tot++,now=0;
29 else if(now+a[i]>num)
30 tot++,now=a[i];
31 }
32 if(now)
33 tot++;
34 if(tot>3)
35 return 0;
36 else
37 return 1;
38 }
39 int main()
40 {
41 read(n);
42 for(lli i=1;i<=n;i++)
43 read(a[i]),r+=a[i],l=max(l,a[i]);
44 while(l<=r)
45 {
46 lli mid=(l+r)>>1;
47 if(pd(mid))
48 r=mid-1;
49 else
50 l=mid+1;
51 }
52 printf("%lld",l);
53 return 0;
54 }
- Centos中yum方式安装java
- 微信小程序新革命催生新物种新物种带来大红利!玩转行业新玩法
- 无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(3)删除记录
- 部署Zipkin分布式性能追踪日志系统的操作记录
- 无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(4)显示记录
- Android 2.x中使用actionbar - Actionbarsherlock (2)
- python读txt和xml
- 让Jexus支持高并发请求的优化技巧
- 数据压缩算法LZO (C#)
- Html之初体验
- 基于Wolfpack开发业务监控系统
- Android 2.x中使用actionbar - Actionbarsherlock
- Python-操作Memcache、Redis、RabbitMQ、
- 推荐[搜索引擎架构]的几篇文章
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Keras2NCNN?Yes
- 【翻译】从头实现Rust异步执行器
- 说一下你常用的加密算法
- 深入研究 Node.js 的回调队列
- 【kalman filter】卡尔曼滤波器与python实现
- 一文带你响应式网页设计入门
- 图像增强 | CLAHE 限制对比度自适应直方图均衡化
- 一分钟速学 | NMS, IOU 与 SoftMax
- [译] 使用 TypeScript 开发 React Hooks
- 磁盘空间分析神器 - ncdu
- Kafka笔记—可靠性、幂等性和事务
- 工程能力UP!| LightGBM的调参与并行
- 你想要的Android性能优化系列:启动优化 !
- 微信小程序的自定义组件(入门)
- linux 中关于PAM的点滴笔记