原题传送门

前言

当我以一种十分激动的心情参加了GESP的2024-9的三级考试时。

打开了此题,然后……自以为是的拿着暴力一顿乱写!然后TLE

直到结束我还是没有想出来! (太菜了!!!)

以一种十分沮丧的心情走出了考场……

于是写了这篇题解…… (讲了这么多,还是太菜了!)

题目解析

  1. 需要输入一个长度为 \(n\) 的正整数序列 \(a\) 。
  2. 找到一个 \(i\) (\(1 \leq i < n\)) 使得a[1]+a[2]+a[3]+…+a[i]==a[i+1]+a[i+2]+a[i+3]+…+a[n]
  3. 本题单个测试点内包含多组测试数据! 所以,可能要用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 三级] 平衡序列 题解的更多相关文章

  1. 【洛谷】P2880 [USACO07JAN]平衡的阵容Balanced Lineup(st表)

    题目背景 题目描述: 每天,农夫 John 的N(1 <= N <= 50,000)头牛总是按同一序列排队. 有一天, John 决定让一些牛们玩一场飞盘比赛. 他准备找一群在对列中为置连 ...

  2. 洛谷P1854 花店橱窗布置 分析+题解代码

    洛谷P1854 花店橱窗布置 分析+题解代码 蒟蒻的第一道提高+/省选-,纪念一下. 题目描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定 ...

  3. HAOI2006 (洛谷P2341)受欢迎的牛 题解

    HAOI2006 (洛谷P2341)受欢迎的牛 题解 题目描述 友情链接原题 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之 ...

  4. 洛谷P3412 仓鼠找$Sugar\ II$题解(期望+统计论?)

    洛谷P3412 仓鼠找\(Sugar\ II\)题解(期望+统计论?) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327573 原题链接:洛谷P3412 ...

  5. 洛谷P3502 [POI2010]CHO-Hamsters感想及题解(图论+字符串+矩阵加速$dp\&Floyd$)

    洛谷P3502 [POI2010]CHO-Hamsters感想及题解(图论+字符串+矩阵加速\(dp\&Floyd\)) 标签:题解 阅读体验:https://zybuluo.com/Junl ...

  6. BZOJ3675 & 洛谷3648 & UOJ104:[Apio2014]序列分割——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3675 https://www.luogu.org/problemnew/show/P3648 ht ...

  7. 洛谷P2501 bzoj1049 [HAOI2006]数字序列

    题目链接 bzoj 洛谷 题解 第一问: 假如 \(i < j\) 如果 \(j\)能从\(i\)转移过来 显然中间空隙必须足够 例如:\(50\) \(53\) \(53\) \(52\) 就 ...

  8. BZOJ4946 & 洛谷3826 & UOJ318:[NOI2017]蔬菜——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4946 https://www.luogu.org/problemnew/show/P3826 ht ...

  9. 洛谷1578:[WC2002]奶牛浴场——题解

    https://www.luogu.org/problemnew/show/P1578#sub 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建 ...

  10. 【洛谷3648/BZOJ3675】[APIO2014]序列分割(斜率优化DP)

    题目: 洛谷3648 注:这道题洛谷3648有SPJ,要求输出方案.BZOJ3675数据组数较多但不要求输出方案. 分析: 这可能是我第三次重学斜率优化了--好菜啊 这道题首先一看就是个DP.稍微推一 ...

随机推荐

  1. nvm安装node报错Get "https://nodejs.org/dist/latest/SHASUMS256.txt": dial tcp 104.20.23.46:443: i/o timeout

    windows上通过nvm管理node版本,在本地安装了nvm后,通过nvm安装node,报错了,信息: Could not retrieve https://nodejs.org/dist/late ...

  2. COSBrowser 文件对比——更实用的文件管理功能

    我们在使用 COSBrowser 来管理腾讯云存储的文件时,目前我们大家所熟知的上传/下载方式,主要有以下三种: 通过点击按钮上传/下载 通过拖拽的形式进行上传/下载 通过 URL 链接进行上传/下载 ...

  3. 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-7-元素基础定位方式-下篇 (详细教程)

    1.简介 上一篇主要是讲解我们日常工作中在使用Playwright进行元素定位的一些比较常用的基础定位方式的理论基础知识以及在什么情况下推荐使用.今天这一篇讲解和分享一下剩下部分的基础定位方式. 2. ...

  4. 扩容ext4分区容量16TB限制

    #扩容ext4分区容量16TB限制 环境: 系统 ubuntu 16 resize2fs 1.42.13 (17-May-2015) 使用resize2fs扩容时如下提示 resize2fs /dev ...

  5. Jetpack Compose 的原理性文章

    正在写一篇关于UI的思考,接触到 Android 的 Jetpack Compose: 从第一原则撰写 | 可理解的胡言乱语

  6. FISCO BCOS 控制台 部署合约 调用 查看已部署合约的地址

    deploy 部署合约.(默认提供HelloWorld合约和TableTest.sol进行示例使用) 参数: 合约路径:合约文件的路径,支持相对路径.绝对路径和默认路径三种方式.用户输入为文件名时,从 ...

  7. lottie-web动画库在HTML5页面中和在vue项目中的两种使用方式

    本文主要介绍lottie-web动画库在HTML5页面中和在vue项目中的两种使用方式. 1.在HTML5页面中的使用方式 具体使用步骤详见下面的代码: <!DOCTYPE html> & ...

  8. 在VS Code中vue引入新版vue-awesome-swiper编译时提示swiper/dist/css/swiper.css无法导入的问题

    在安装vue-awesome-swiper时报错swiper/dist/css/swiper.min.css找不到,如下如: 有的回答安装6.0版本的话需要引入另外一个css import 'swip ...

  9. Bolt.new 30秒做了一个网站,还能自动部署,难道要吊打 Cursor?

    大家好,我是汤师爷~ 这篇聊聊 Bolt.new 和 Cursor 的对比. Bolt.new 是一款基于 SaaS 的 AI 编码平台.它由 LLM 驱动的智能体作为底层,并结合 WebContai ...

  10. 分布式全局唯一ID解决方案详解

    --------------------- ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Inn ...