尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【做题记录】P9753 [CSP-S 2023] 消消乐

【做题记录】P9753 [CSP-S 2023] 消消乐
📅 发布时间:2026/6/20 16:37:45

题目链接

这道题状态设计十分巧妙。

直接转移显然不切实际。我们不妨“消消乐”的性质入手:

如果区间 \([i,j],[j+1,k]\) 都是可消除的,那么 \([i,k]\) 一定也是可消除的。根据此性质,我们设置辅助数组 \(g\) 维护当前字符可以和之前那个字符形成区间并且区间是可消除的。

具体步骤如下:

  • 我们从 \(j=i-1\) 开始,一直往前跳 \(j=g_j -1\),这样如果遇到有一个位置 \(s_j=s_i\) 的话,新的 \(g_i\) 就是 \(j\) 了。

状态的转移:\(f_i=f_{g_i-1}+1\)

最终答案:\(\sum_{i=1}^n f_i\)

代码如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N(2e6+5);
int n,g[N];
ll f[N],ans;
string s;
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>s;for(int i(1);i<=n;++i){for(int j(i-1);j>0;j=g[j]-1){if(s[j-1]==s[i-1]){g[i]=j;break;}}if(g[i])f[i]=f[g[i]-1]+1,ans+=f[i];}cout<<ans;return 0;
}

相关新闻

  • 南京icpc-c题:
  • 学生信息管理系统(DAO模式重构)项目报告
  • 开源嵌入模型对比:让你的RAG检索又快又准

最新新闻

  • [Windows]罗技G HUB(Logitech G HUB)旧版本下载地址汇总
  • 电瓶车托运不拆电池行吗?2026新规+省钱方案来了 - 快递物流资讯
  • 2026年北京发电机租赁、应急电源车租赁厂家名单及选购参考指南 - 海棠依旧大
  • 如何配置远程的ubuntu服务器以使在本地windows电脑上可以进行X11图形转发——ssh远程X11转发的配置
  • 电商平台XSS攻击实战防御:从前端到后端的双重安全防线
  • 合肥口碑最好的中专选哪家?综合实力优选合肥理工学校! - 教育为先

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号