首页 > 编程语言 >2023年广东工业大学腾讯杯新生程序设计竞赛不知道叫什么名字(前缀和)

2023年广东工业大学腾讯杯新生程序设计竞赛不知道叫什么名字(前缀和)

时间:2023-12-05 11:33:34浏览次数:39  
标签:前缀 int sum long tie 2023 程序设计 define

需要的是男生女生数量相同,做个转化,女生变成-1,然后求一遍前缀和,我们希望找到最长的满足\(sum(l, r)=0\)的区间也就是\(sum(r) - s(l - 1) = 0\)
考虑枚举右端点,找到最左端和它相等的sum就是对于当前右端点的最长的。

最开始想了个二分答案的假做法,011100,这里答案是6,长度为4不满足

#include <bits/stdc++.h> 
#define ls p<<1
#define rs p<<1|1
#define PII pair<int, int>
#define ll long long
#define db double
#define ull unsigned long long
#define endl '\n'
#define io ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
const int N = 2e5 + 10;
int t, n;
int a[N], sum[N], b[N], ans;
map<int, int>mp;

void solve()
{
	cin >> n;
	for(int i = 1; i <= n; ++ i)
	{
		cin >> a[i];
		if(a[i] == 0)	a[i] = -1;
		sum[i] = sum[i - 1] + a[i];
	}
	for(int i = n; i >= 1; -- i)	mp[sum[i]] = i;
    mp[0] = 0;
	for(int i = 1; i <= n; ++ i)	ans = max(ans, i - mp[sum[i]]);
	cout << ans << endl;
}

int main()
{
	io
//	freopen("1.in", "r", stdin);
//	cin >> t;
//	while(t --)	
	solve(); 
	return 0;
}

标签:前缀,int,sum,long,tie,2023,程序设计,define
From: https://www.cnblogs.com/cxy8/p/17876850.html

相关文章

  • 2023-13-03-好像又是很emo的一天
    早上起床起得比较晚,因为之前的旅途比较的累然后一天好像也没干什么。。。。。也就整理了一下之前的笔记晚上的时候,去了一下实验室,因为要开周末的分享会我是7:00左右去的,,然后就坐在位置上学习,,并等待周会二点开始但是我想说的是,,,在位置上学习,,突然变得不知道学什么了变得手足无措......
  • PTA-2023第十一次练习题目讲解
    PTA-2023第十一次练习题目6-17实验7_9_简单排序法一:冒泡排序上课学过好多好多次,讲解略过,代码有注释。voidbubbleSort(intdata[],intelementCount){for(inti=0;i<elementCount-1;i++)//第一层循环,控制找最大值的次数{for(intj=0;j<elementCount-......
  • 【2023-12-04】够用就好
    20:00 不要因为走得太远,忘了我们为什么出发。                                                 ——纪伯伦因为我们家的车烧机油,一个月不到就把我一缸机油给烧掉了,着......
  • 云原生周刊:K8s 的 YAML 技巧 | 2023.12.4
    开源项目推荐HelmfileHelmfile是用于部署HelmChart的声明性规范。其功能有:保留图表值文件的目录并维护版本控制中的更改。将CI/CD应用于配置更改。定期同步以避免环境偏差。Docketeer一款Docker和Kubernetes开发人员工具,用于管理容器并可视化集群和容器指标。......
  • 2023年12月4日总结
    更好的观看总结今天是复习树结构,是绿色的树!是通天的树!啊,狂风暴雨啊!全部倾斜在那高大的树上吧!坚强的树乎!你可不要退缩啊!(混乱ing)点分治淀粉质【模板】点分治1注意~我才不会告诉你更新子树大小一定要dfs之后更新呢(本来想打感叹号的)。LuoguP4178TreeOI-WIKI上面说用线段......
  • 2023.12.4学习笔记(stm32跑马灯实验——库函数)
     STM32f4有七组引脚(GPIOx),每组引脚有16个IO口,每组由十个寄存器控制。   查找STM32引脚的功能,可以在STM32F04ZGT6文件50页左右查询,此文件所在的位置为硬件资料、芯片资料文件夹里。跑马灯实验思路步骤:1:使能时钟,调用函数RCC_AHB1PeriphClockCmd();       ......
  • 20231204
    一、实验要求  任务一:下载配置百度翻译Java相关库及环境(占10%)。    任务二:了解百度翻译相关功能并进行总结,包括文本翻译-通用版和文本翻译-词典版(占20%)。    任务三:完成百度翻译相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。    任......
  • 2023-12-04
    2023-12-04线程常用方法yield线程的礼让。让出CPU,让其他线程执行,但让的时间不确定,所以不一定礼让成功join线程的插队。线程的一旦插入成功,则肯定先执行完插入的线程的所有任务用户线程和守护线程用户线程:也叫工作线程,当线程任务执行完或者收到通知来结束守护线程:......
  • 20231204
    好困,好累,好晕。好想呆在家里睡大觉!又是效率极低的一天,也许真的该休息了(?)晚上跑到初三机房,然后发现自己又热又晕,要死了啦!在犇犇里发了会儿电居然还有人理我。。不知道是感动还是麻木。随便整了一下v4,不过话说这都什么年代了怎么还有人在用v4啊喂!不过话说回来,我用vc是......
  • 2023.12.4——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.jfinal明日计划:学习......