第十五届蓝桥杯C/C++B组拔河问题详解

server/2025/3/18 20:33:43/

kans

解题思路

这道题目的难点在于枚举所有区间,并且区间不能重合,那么这样感觉就很难了。但是用下面这种方法就会好很多。
在这里插入图片描述

我们只需要将左边的所有区间的各种和放在一个set中,然后我们在枚举右边的所有区间的和去和它进行比较,然后求出差值,如果差值比最小的小,那么就更新答案,那么我们只需要去从左边到右边移动线的位置就行。

代码实现

#include<iostream>
#include<vector>
#include<iostream>
#include<vector>
#include<set>
using namespace std;
const int N=1e4;
int p[N];
long long sum[N];
typedef long long LL;
set<LL>a;
int main()
{ios::sync_with_stdio(false);int n;cin>>n;for(int i=1;i<=n;i++){cin>>p[i];sum[i]=sum[i-1]+p[i];//前缀和}LL res=1e15;a.insert(1e15);//防止找不到比右边区间大的左边的a.insert(-1e15);//防止找不到比右边区间小的左边的for(int i=1;i<=n;i++)//枚举中间的线{for(int l=1;l<=i-1;l++)//枚举左边的所有区间{a.insert(sum[i-1]-sum[l-1]);//插入前面的区间[l,i-1];}       for(int r=i;r<=n;r++){LL s=sum[r]-sum[i-1];//枚举右边的所有区间和auto it= a.lower_bound(s);//大于这个数的最小数res=min(res,(*it-s));it--;//找到小于这个数的最大数res=min(res,(s-*it));}}cout<<res;return 0;
}

http://www.ppmy.cn/server/176047.html

相关文章

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_13可展开行的固定表头表格

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_13可展开行的固…

Java---网络初识

本文章用于理解网络中的各个关键字 1.IP地址 &#xff1a; 用于标识网络主机&#xff0c;和其他网络设备的网络地址 比如我们发快递时&#xff0c;需要知道对方的地址才能将包裹发送给他 格式&#xff1a; IPv4&#xff1a; IP地址是32位二进制数&#xff0c;如&#xff1…

淘宝/天猫获得淘宝商品评论 API 返回值说明

item_review-获得淘宝商品评论 taobao.item_review 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item…

ZooKeeper的五大核心作用及其在分布式系统中的关键价值

引言 在分布式系统的复杂架构中&#xff0c;协调多个节点的一致性、可靠性和高可用性始终是技术挑战的核心。​Apache ZooKeeper作为业界广泛采用的分布式协调服务&#xff0c;凭借其简洁的树形数据模型&#xff08;ZNode&#xff09;和高效的原子广播协议&#xff08;ZAB&…

【Node.js入门笔记6---fs流(Streams)与管道(Pipe)】

Node.js入门笔记6 Node.js---fs 流&#xff08;Streams&#xff09;与管道&#xff08;Pipe&#xff09;一、流&#xff08;Streams&#xff09;与管道&#xff08;Pipe&#xff09;1.fs.createReadStream()&#xff1a;创建可读流&#xff0c;逐块读取文件。逐块读取文件内容&…

四道Dockerfile练习

一、编写Dockerfile&#xff0c;ubuntu_18.04:v3 要求&#xff1a; 1、基础镜像ubuntu:18.04。 2、替换为国内的安装源&#xff08;比如阿里或163&#xff09;。 3、安装openssh-server。 4、允许root用户远程登录。 5、暴露端口22。 6、服务开机自启…

c++图论(二)之图的存储图解

在 C 中实现图的存储时&#xff0c;常用的方法包括 邻接矩阵&#xff08;Adjacency Matrix&#xff09;、邻接表&#xff08;Adjacency List&#xff09; 和 边列表&#xff08;Edge List&#xff09;。以下是具体实现方法、优缺点分析及代码示例&#xff1a; 1. 邻接矩阵&…

双 Token 无感刷新机制在前后端分离架构中实现

在前后端分离的架构中&#xff0c;双 Token 无感刷新是一种常见的身份验证机制&#xff0c;用于在 Access Token 过期时&#xff0c;通过 Refresh Token 自动获取新的 Access Token&#xff0c;从而避免用户频繁登录。 1. 双 Token 无感刷新的核心流程 1.1 核心流程 用户登录&…