分割项链
问题描述
  两个强盗刚刚抢到一条十分珍贵的珍珠项链,正在考虑如何分赃。由于他们不想破坏项链的美观,所以只想把项链分成两条连续的珍珠链。然而亲兄弟明算账,他们不希望因为分赃不均导致不必要的麻烦,所以他们希望两条珍珠链的重量尽量接近。于是他们找到了你,希望让你帮忙分赃。
  我们认为珍珠项链是由n颗不同的珍珠组成的,我们可以通过称重,分别称出每颗珍珠的重量(我们忽略连接珍珠的“链”的重量)。你要求的是每个人至少能得到多重的珍珠(即分赃少的那个人能得到多重的珍珠)。
输入格式
  第一行一个整数n,表示这个珍珠项链有多少颗珍珠。第二行n个整数,顺时针给出每颗珍珠的重量wi。(你要注意的是,第一课珍珠和最后一颗珍珠是相连的)
输出格式
  一个整数,表示分赃少的那个人能得到多重的珍珠。
样例输入
7
1 2 3 4 3 2 1
样例输出
7
数据规模和约定
  对于30%的数据,n<=200;
  对于60%的数据,n<=2000;
  对于100%的数据,n<=50000,0<wi<=1000。
思路:原以为是环形dp,原来直接尺取就解决了。题目意思在一个圆环中选择连续的一串数,数的和小与总和的一半,用%巧妙处理r>n的情况,每次将选择的数的总和加至大于总和的一半,再减去左边的数。
AC代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define se second
#define fi first
const int inf=0x3f3f3f3f;
inline int sca()
{int su=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c))su=su*10+c-'0',c=getchar();return f*su;
}
int a[50004];
int main()
{int n=sca(),su=0;for(int i=0;i<n;++i)a[i]=sca(),su+=a[i];su/=2;int an=0,sum=0,nu=0;int l=0,r=0;while(1){while(sum<su)sum+=a[r%n],r++;while(sum>su)sum-=a[l%n],l++;an=max(an,sum);nu++;if(nu==2*n)break;} printf("%d\n",an);
}

蓝桥算法提高ADV-381 分割项链题解相关推荐

  1. java 蓝桥杯算法提高 身份证号码升级(题解)

    试题 算法提高 身份证号码升级 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为 ...

  2. 色盲java_[蓝桥杯][算法提高VIP]色盲的民主-题解(Java代码)

    解题思路: 注意事项: 参考代码: import java.util.ArrayList; import java.util.Collections; import java.util.HashMap ...

  3. 算法——AcWing算法提高课中代码和题解

    文章目录 第一章 动态规划 (完成情况:64/68) 数字三角形模型 最长上升子序列模型 背包模型 状态机模型 状态压缩DP 区间DP 树形DP 数位DP 单调队列优化DP 斜率优化DP 第二章 搜索 ...

  4. [蓝桥] 算法提高 队列操作

    时间限制:1.0s   内存限制:256.0MB 问题描述 队列操作题.根据输入的操作命令,操作队列(1)入队.(2)出队并输出.(3)计算队中元素个数并输出. 输入格式 第一行一个数字N. 下面N行 ...

  5. [蓝桥] 算法提高 扶老奶奶过街

    时间限制:1.0s   内存限制:256.0MB 一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C ...

  6. 算法提高 第五题 java 题解 1096

    第五题(15分) 题目描述 实验室的王大神设计的机器人"学霸"掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10, ...

  7. python蓝桥算法提高

    什么时候想起什么时候更新,随便写写 打包 先贴代码: # 打包 n, m = map(int, input().split(' ')) weight = list(map(int, input().s ...

  8. java 蓝桥杯算法提高 字符串匹配(题解)

    试题 算法提高 字符串匹配 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时 ...

  9. Java实现 蓝桥杯VIP 算法提高 能量项链

    算法提高 能量项链 时间限制:1.0s 内存限制:256.0MB 问题描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记 ...

最新文章

  1. 谈谈AI的ToB市场,我的新书《B端产品经理修炼手册》正式出版
  2. (转)创业需要知道的13句话
  3. 艾为数字ic面试题_每日学习:数字后端面试100问(2019全新版)
  4. 京东月薪8万招聘HR,岗位要求只有这3个字
  5. datatables 一列显示两个字段的数据_5个超实用的Excel数据透视表技巧,学会少加班...
  6. 毕啸南专栏 | 对话姚星:腾讯有后来居上的传统,我们的战略是全民AI
  7. join(long)与sleep(long)的区别
  8. 网络正确,就是不能上网,检查WIN10代理设置
  9. matlab IIR滤波
  10. MCSA 70-740 windows存储相关的基本概念
  11. CSDN早报-2019-04-29
  12. 计算机日期型函数公式,excel函数公式应用:日期格式转换公式大全-excel技巧-电脑技巧收藏家...
  13. 路由器桥接设置(扩大wifi信号)
  14. 范德堡计算机科学硕士,美国范德堡大学计算机科学专业怎么样?
  15. 64位Win10 2004正式版_MSDN我告诉你win10 2004镜像下载
  16. 华为S5700交换机设置密码包括telnet密码
  17. 【Python+C#】手把手搭建基于Hugging Face模型的离线翻译系统,并通过C#代码进行访问...
  18. python爬虫新浪微博
  19. android新手用什么工具包,分享七个很是有用的Android开发工具和工具包
  20. 百度SEO逆推技术软件下载,引蜘蛛秒收录

热门文章

  1. 【心田花开】三年级语文上册南宋古诗鉴赏
  2. 嵌入式开发:嵌入式应用程序中的信任链简介
  3. 一款开源且具有交互视图界面的实时 Web 日志分析工具
  4. 计算机应用基础网络统考操作,(全套)知识点练习-计算机应用基础-(网络统考-操作题-共152题)...
  5. windows远程登录应用
  6. php实现腾讯云视频加密
  7. 苹果xr电池容量_2019销量最高的苹果手机,不是iPhone11,更不是iPhone8
  8. C++ Essential Training C ++基础培训 Lynda课程中文字幕
  9. 苹果和android 王者荣耀,王者荣耀:安卓区与苹果区谁强,官方数据说明一切,结局让人意外...
  10. 最多K次交换冒泡排序