洛谷B4038 [GESP202409 三级] 平衡序列 题解
前言
当我以一种十分激动的心情参加了GESP的2024-9的三级考试时。
打开了此题,然后……自以为是的拿着暴力一顿乱写!然后TLE。
直到结束我还是没有想出来! (太菜了!!!)
以一种十分沮丧的心情走出了考场……
于是写了这篇题解…… (讲了这么多,还是太菜了!)
题目解析
- 需要输入一个长度为 \(n\) 的正整数序列 \(a\) 。
- 找到一个 \(i\) (\(1 \leq i < n\)) 使得
a[1]+a[2]+a[3]+…+a[i]==a[i+1]+a[i+2]+a[i+3]+…+a[n] - 本题单个测试点内包含多组测试数据! 所以,可能要用
memset()了。
解题思路
1、暴力!
我在考场就是这个方法!这里就不展开了。因为会 TLE
2、使用前缀和
前置知识
前缀和,顾名思义,指的是数组内存储的时当前元素与之前的所有元素的和。(很好理解对吧!?)
举个栗子!
点击查看实例代码
int n;
int a[20];
// 创建前缀和数组b
int b[20];
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
// for循环求出前缀和
for(int i=1;i<=n;i++){
b[i]=a[i]+b[i-1];
}
// 输出
for(int i=1;i<=n;i++){
cout<<b[i];
}
// 输入:
3
1 3 5
//输出:
1 4 9
好了,懂了前缀和,你就懂了这道题的做法!
真正的解题思路
现在,摆在面前的唯一难题便是如何快速求出 a[1]+a[2]+a[3]+…+a[i]和a[i+1]+a[i+2]+a[i+3]+…+a[n]
第一个很好求,在得到前缀和数组 \(b\) 后 b[i]里的内容便是第一个。
第二个,则需思考一下!其中b[n]里的内容可以被拆分为b[i]+a[i+1]+a[i+2]+a[i+3]+…+a[n]
所以!第二个就可以用b[n]-b[i]!
然后,与一些基本的输入输出结合,你得到了此题的完整代码!
CODE
点击查看完整代码
#include<bits/stdc++.h>
using namespace std;
int t;
int n;
int a[10005];
int b[10005];
int main(){
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
b[i]=a[i]+b[i-1];
}
bool flag=true;
for(int i=1;i<=n;i++){
if(b[i]==b[n]-b[i]){
cout<<"Yes"<<endl;
flag=false;
break;
}
}
if(flag){
cout<<"No"<<endl;
}
}
return 0;
}
完结撒花!!
洛谷B4038 [GESP202409 三级] 平衡序列 题解的更多相关文章
- 【洛谷】P2880 [USACO07JAN]平衡的阵容Balanced Lineup(st表)
题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连 ...
- 洛谷P1854 花店橱窗布置 分析+题解代码
洛谷P1854 花店橱窗布置 分析+题解代码 蒟蒻的第一道提高+/省选-,纪念一下. 题目描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定 ...
- HAOI2006 (洛谷P2341)受欢迎的牛 题解
HAOI2006 (洛谷P2341)受欢迎的牛 题解 题目描述 友情链接原题 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之 ...
- 洛谷P3412 仓鼠找$Sugar\ II$题解(期望+统计论?)
洛谷P3412 仓鼠找\(Sugar\ II\)题解(期望+统计论?) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327573 原题链接:洛谷P3412 ...
- 洛谷P3502 [POI2010]CHO-Hamsters感想及题解(图论+字符串+矩阵加速$dp\&Floyd$)
洛谷P3502 [POI2010]CHO-Hamsters感想及题解(图论+字符串+矩阵加速\(dp\&Floyd\)) 标签:题解 阅读体验:https://zybuluo.com/Junl ...
- BZOJ3675 & 洛谷3648 & UOJ104:[Apio2014]序列分割——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3675 https://www.luogu.org/problemnew/show/P3648 ht ...
- 洛谷P2501 bzoj1049 [HAOI2006]数字序列
题目链接 bzoj 洛谷 题解 第一问: 假如 \(i < j\) 如果 \(j\)能从\(i\)转移过来 显然中间空隙必须足够 例如:\(50\) \(53\) \(53\) \(52\) 就 ...
- BZOJ4946 & 洛谷3826 & UOJ318:[NOI2017]蔬菜——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4946 https://www.luogu.org/problemnew/show/P3826 ht ...
- 洛谷1578:[WC2002]奶牛浴场——题解
https://www.luogu.org/problemnew/show/P1578#sub 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建 ...
- 【洛谷3648/BZOJ3675】[APIO2014]序列分割(斜率优化DP)
题目: 洛谷3648 注:这道题洛谷3648有SPJ,要求输出方案.BZOJ3675数据组数较多但不要求输出方案. 分析: 这可能是我第三次重学斜率优化了--好菜啊 这道题首先一看就是个DP.稍微推一 ...
随机推荐
- [Cnblogs.Architecture][v20.5.1] 使用 AddLongToJsonConverter() 将 long 序列化为 string
场景 浏览器的 JSON 反序列化无法完整将 long 类型转换为 number,最后一位会被四舍五入. 因此需要将 long 类型转为 string 发送到前端. 适用版本 v20.5.1 使用方法 ...
- ZCMU-1111
与背包和动态规划有关(我认为) 采用dp数组存放吃掉i千克食物要用掉的钱 dp最开始要尽量的大方便过程中判断和最后的输出判断 实时更新dp,保留最小的钱 以前不知道的 printf函数可以这样用 fi ...
- TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面
前言 前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用.但在日常使用过程中,命令行使用还是不太方便的,因此今天介绍一下如何使用 ...
- ChatGPT在功能测试用例生成方面的优势
功能测试是软件测试的非常重要的分类,所有软件系统都要保证功能的正确性,而测试用例则是功能测试的重中之重.测试用例的编写是测试人员必须认真面对的一件耗时费力.枯燥乏味的工作.如何才能快速高效地编写测试用 ...
- 两个 F# 的 MVVM
fsprojects/Avalonia.FuncUI: Develop cross-plattform GUI Applications using F# and Avalonia! fabulous ...
- Python的OCR工具pytesseract解决TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information环境变量问题
pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格 ...
- Qt编写视频监控系统79-四种界面导航栏的设计
一.前言 最初视频监控系统按照二级菜单的设计思路,顶部标题栏一级菜单,左侧对应二级菜单,最初采用图片在上面,文字在下面的按钮方式展示,随着功能的增加,二级菜单越来越多,如果都是这个图文上下排列的按钮, ...
- Qt编写本地摄像头综合应用示例(qcamera/ffmpeg/v4l2等)
一.功能特点 同时支持 qcamera.ffmpeg.v4l2 三种内核解析本地摄像头. 提供函数 findCamera 自动搜索环境中的所有本地摄像头设备,搜索结果信号发出. 支持自动搜索和指定设备 ...
- Qt开发经验小技巧216-220
Qt的网络库支持udp广播搜索和组播搜索,其中组播搜索可以跨网段搜索,有时候你会发现失灵,此时你可以尝试把本地的虚拟机的网卡禁用试试,估计就好了.还有就是在本地开启了代理啥的,先关掉试试.近期在使用t ...
- IM群聊消息的已读未读功能在存储空间方面的实现思路探讨
1.引言 IM系统中,特别是在企业应用场景下,消息的已读未读状态是一个强需求. 以阿里的钉钉为例,钉钉的产品定位是用于商务交流,其"强制已读回执"功能,让职场人无法再"假 ...