快手2019校招笔试题
目的:分别从前面和后面开始找划分点,使得前面的数字之和 = 后面的数字之和
目标表述:sum( 前面m 个数 ) = sum( 后面n个数) s.t. m+n <= N(总个数)
变形:sum[i] 表示前 i 个数之和,sum2[i]表示后 i 个数之和
如果 sum[m] == sum2[n] ,s.t., m+n <= N,问题解决!
#include <iostream>
using namespace std;
typedef long long lint;lint a[200002] ={0};
lint sum[200002] ={0};
lint sum2[200002] ={0};// 在 sum2[] 中搜索是否有元素= q,因为 sum2 单调递增,所以可以用二分查找
// 搜索范围从 sum2[1] 到 sum2[limit]
// 返回值: 找到就返回序号,没找到就返回 -1
int bi_search(lint q, int limit){if( q < sum2[1] || q > sum2[limit] ) return -1;int left = 1, right = limit, mid;while( left <= right ){mid = (left+right)/2;if( sum2[left] == q ) return left;if( sum2[right] == q ) return right;if( sum2[mid] == q ) return mid;if( mid == left) break;if( sum2[mid] > q )right = mid;elseleft = mid;}return -1;
}int main()
{int n;cin >> n;for(int i=1;i<=n;i++) // 从1开始{scanf("%lld",&a[i]);sum[i] = sum[i-1] + a[i];}for(int i=n;i>=1;i--)sum2[n+1-i] = sum2[n-i] + a[i];/************ match ************/lint max_gain = 0;for(int i=1;i<n;i++){int j = n - i; // 取值的范围if( bi_search(sum[i],j) != -1 )max_gain = sum[i];}cout << max_gain << endl;return 0;
}
快手2019校招笔试题相关推荐
- 百度2019校招笔试题
百度2019校招笔试题 1. 探险安排 小明要为n个人计划一次火星的探险,其中一个重要的任务是为每个参与者安排食物.仓库里面有m个能用一天的食物包裹,每个食物包裹有不同的类型ai.每个人每天必须用且只 ...
- 快手2020校招笔试题 2019.8.25
算法A试卷部分编程题 求解字符串表示的一元一次方程. 思路:将等式右侧的表达式左移,即将等号替换为-(,并在最后添加上).然后将表达式的变量X替换为虚数的1j,这样就能通过python的eval函数来 ...
- 美团点评2019校招笔试题——前端开发方向(附答案)
2019年美团点评前端开发岗位校招笔试题目,虽然不是最新的,但面试题万变不离其宗,掌握了想要考察的知识点才是重要的. 1.单选题 点击"计算"按钮后输出结果为( ) A 11.5 ...
- 字节跳动2019校招笔试题(后端开发)一
题目描述 第一题:产品经理转程序员 c++版代码 测试用例可以通过 #include <iostream> #include <string> #include <vec ...
- 思特奇2019校招笔试题
这里仅记录自己不会的哦,有需要的可以参考下哦 1Java接口的修饰符可以为(d) A.private B.proected C.final D.abst ...
- 搜狐畅游2019校招笔试题-游戏开发工程师(java)
题目描述: 一组无序的自然数集合,由0,1,2,,,,n的数字和一个的数字X组成,请从集合中找出这个重复的数字X. 例子: 输入:1 2 3 1 4 输出:1 public class Main {p ...
- 巨人网络2019校招笔试题
巨人网络笔试,游戏开发岗位.前面8个选择题,主要考的是基础,里面有一道SQL题.后面两道填空题,都是考的指针.两道问答题,第一个具体是什么,不记得了:第二个是考的Linux,列举常用Linux命令.最 ...
- 深信服笔试题 php,2019深信服校招笔试题------木板接水
2019深信服校招笔试题--木板接水 题目: 空地上竖立着n个从左到右排列的木板,它们可以把水挡住,但溢出最边上木板的水将会流到空地上.已知木板间距都是单位1,现给定每个木板的高度,请求出总共能接住的 ...
- 关于python类的继承正确的说法是_2017美团点评的运维岗校招笔试题,测测你会几题?...
原标题:2017美团点评的运维岗校招笔试题,测测你会几题? 1.数据库:以下哪项不是HASH索引的特征? A MySQL不能确定在两个值之间大约有多少行 B 不能使用hash索引来加速ORDER BY ...
最新文章
- SAP库存历史库存表更新逻辑
- js中图片显示用ajax,javascript - 前台用ajax上传图片,怎么让图片上传完成显示的缩略图片的时候显示分辨率大小...
- 清华大学「天机」芯片登上Nature封面:类脑加传统计算融合实现通用人工智能...
- C 流插入和流提取运算符的重载
- 【ES6(2015)】Generator
- cglib动态代理jar包_Java中的原生动态代理和CGLIB动态代理的原理,我不信你全知道!...
- 计算机视觉CV中特征点提取SIFT算法的学习笔记
- CentOS 7 安装OpenOffice并实现WordToPDF(Java调用)
- 杨强教授领衔撰写,国内首本联邦学习实战的权威著作
- arcgis裁剪失败
- Java实现微信公众号模板消息管理群发和单发
- maven3实战之仓库(仓库搜索功能)
- 电路设计中晶体和晶振的区别
- Java解析Excel 获取文本和图片信息
- python-面向对象的编程
- Java程序流程控制(符号函数sgn、闰年判断)
- Apache ShardingSphere 企业行|走进中商惠民
- 变脸软件成犯罪帮凶​,上万个限用微信号被“复活”
- Mybatis-Plus的条件构造器(Wrapper)
- LTE default bearer dedicated bearer and radio bearer
热门文章
- 【PostgreSQL】数据表的增删改查
- shell 脚本处理多行文本的记录 -- awk
- 上海科技大学和南方科技大学计算机,上海科技大学和南方科技大学哪个好?哪个更容易考?...
- 基本面量化(Quantamental)——财务指标量化策略
- 【李超线段树】BZOJ3165 [Heoi2013]Segment
- Java实现 LeetCode 187 重复的DNA序列
- ckeditor4.6.2上传图片thinphp3.3.2
- 技能梳理9@RGB+WS2812+ESP32
- bzoj1038: [ZJOI2008]瞭望塔
- A10+Android4.0 音频驱动