当前位置: 首页 > news >正文

CF148B Balanced Substring- 1500

VJ传送门

题目思路

预处理从前往后和从后往前计数 \(0\)\(1\) 的个数。

从前往后枚举段的开头,找到期望中段的结尾,记录长度。用 map 记录。

然而,代码很矢。下面的Better Code里有更好的代码,思路差不多,附有详细注释。

AC Code

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,f1[N],f0[N],b1[N],b0[N],s1,s0,ans;
unordered_map<int,int>mp;
string s;
signed main(){ios::sync_with_stdio(0),cin.tie(0);cin>>n>>s;s=" "+s;for(int i=1;i<=n;i++){f1[i]=f1[i-1];f0[i]=f0[i-1];if(s[i]=='0')	f0[i]++,s0++;else	f1[i]++,s1++;}mp[0]=n+1;for(int i=n;i>=1;i--){b1[i]=b1[i+1];b0[i]=b0[i+1];if(s[i]=='0')	b0[i]++;else	b1[i]++;if(!mp.count(b1[i]-b0[i])){mp[b1[i]-b0[i]]=i;}}for(int i=0;i<=n;i++){int w=s1-s0-f1[i]+f0[i];if(mp.count(w)){ans=max(ans,mp[w]-1-i);}}cout<<ans;return 0;
}

Better Code

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,k=0,sum,ans,a[N<<1];//细节乘2 
//a[]其实是个桶,(下面代码)需要+n是因为k有可能小于0 
string s;
signed main(){ios::sync_with_stdio(0),cin.tie(0);cin>>n>>s;s=" "+s;for(int i=1;i<=n;i++){k+=(s[i]=='0'?-1:1);if(k!=0&&a[k+n]==0)	a[k+n]=i;//从来没有出现过k(+n) ans=max(ans,i-a[k+n]);//记录长度 }cout<<ans;return 0;
}
http://www.jsqmd.com/news/635779/

相关文章:

  • AgentSkill IS “AI领域的Docerfile“
  • PROJECT MOGFACE创意编程项目展示:自动生成交互式网页小游戏
  • 告别GUI:在Matlab命令行里优雅地处理GRACE RL06数据(附代码详解)
  • 如何在6GB显存下运行专业级AI图像生成模型
  • vxe-table企业级架构设计:CSS变量驱动的百万级数据表格性能优化方案
  • 20252913 2025-2026-2 《网络攻防实践》实践5报告
  • CentOS Stream 9扩展根分区
  • MobaXterm远程开发伴侣:千问3.5-2B辅助服务器运维与命令调试
  • PvZ Toolkit:如何为植物大战僵尸PC版打造个性化游戏体验
  • 实战教程:用YOLOv12打造高精度交通标志识别桌面应用(附PySide6界面源码)
  • 2026蓝桥杯 Python A 购电优化(模拟+贪心 好题)
  • 鸿蒙HarmonyOS模块化开发实战:手把手教你使用HSP和HAR共享代码
  • 高中化学里面诱导力,色散力,取向力以及范德华力的区别联系
  • 2026.4.11 蓝桥杯软件类C/C++ G组山东省赛 小记
  • ESP32-S3单片机入门:点灯
  • AlienFX-Tools终极指南:释放Alienware设备的全部潜能
  • 轻量化文件批量重命名工具——太极重命名的设计理念与实践
  • BEAST 2 贝叶斯进化分析:从新手到专家的完整指南
  • 全网最细!OpenClaw 工具系统深度解析:从原子能力到企业级安全,AI 智能体的“万能手脚“完全指南
  • Autoware.universe实车部署实战:从传感器配置到调试全流程
  • 96.1亿元!数字体验编排(DXO)平台软件市场规模揭晓,数字化转型赛道迎新风口
  • VMPDump深度解析:动态VMP脱壳与导入表修复实战指南
  • 2026年宁夏舒心游国际旅行社有限公司官方联系方式公示,宁夏一手地接服务合作便捷入口 - 第三方测评
  • 太极重命名软件的功能架构与技术实现分析
  • 从Verilog到HLS:FPGA实现CNN的并行计算架构与设计权衡
  • Get笔记API + Python脚本:如何自动化处理2W+公众号文章,实现批量摘要与导出
  • 别再让机械臂乱动了!详解ROS2中Gazebo与MoveIt2的控制器配置与通信原理
  • Golang怎么写博客系统后端_Golang博客系统教程【进阶】
  • OpenClaw模型配置规则及说明
  • 2026年主轴维修厂家推荐榜单:高端主轴维修、CNC电主轴维修、加工中心电主轴维修、数控机床主轴维修、高速电主轴维修厂家选择指南 - 海棠依旧大