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

【记录】「COCI 2015.11」SAVEZ

https://www.luogu.com.cn/problem/P7861

阴。

回文匹配转换成前后对称字典树。

还有一个典错误:

这么写最后答案+1是部分错误

if (ch[p][j] == 0) { id ++; ch[p][j] = id; } else { dp[x] = max(dp[x], dp[rid[ch[p][j]]] + 1); } p = ch[p][j];

但这么写最后不+1是对的

if (ch[p][j] == 0) { id ++; ch[p][j] = id; } p = ch[p][j]; dp[x] = max(dp[x], dp[rid[p]] + 1);

这是因为第一个代码段当 ch[p][j] 有东西时就会执行,不管 ch[p][j] 是否是一个字符串的结尾。

所以如果当出现

aa

a

这样的数据时,a 会从 aa 的第一个字符转移,尽管值为 0(转移后为 1)。

这就相当于把它自己加上了,而最后答案又+1,所以错误。

正确代码:

#include<bits/stdc++.h> using namespace std; const int N = 2e6 + 10; char s[N]; map<int, map<int, int>> ch; int dp[N]; int id, rid[N]; int len; void ins(char *s, int x) { int p = 0; for (int i = 0; s[i]; i ++) { int j = (s[i] - 'A') * 26 + (s[len - i - 1] - 'A'); if (ch[p][j] == 0) { id ++; ch[p][j] = id; } p = ch[p][j]; dp[x] = max(dp[x], dp[rid[p]] + 1); } rid[p] = x; } int main () { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; id = 0; ch.clear(); memset(dp, 0, sizeof(dp)); int ans = 0; for (int i = 1; i <= n; i ++) { cin >> s; len = strlen(s); ins(s, i); ans = max(ans, dp[i]); } cout << ans << "\n"; return 0; }
http://www.gsyq.cn/news/1607711.html

相关文章:

  • 工业机器人搬运应用落地案例:汽车冷凝器芯体搬运
  • Python大麦抢票脚本终极指南:如何用自动化技术提升300%成功率
  • 2026实测:两款主流AI编程工具vibe coding能力深度对比
  • 企业落地 AI Agent:降低成本与 ROI 风险完整落地方案
  • 实测深度测评!Paperxie智能写作,解锁毕业论文高效创作新范式
  • 达梦数据库DEM组件反序列化RCE漏洞(CNVD-2023-69447)复现与防御
  • H5+Plus实战:低功耗蓝牙设备连接与数据交互全流程解析
  • 公证处公证亲属关系需要什么材料?亲属关系公证办理流程是什么?
  • DataX实战(02)- 在IDEA中从源码编译到插件调试的一站式指南
  • Logback + ELK 实现北极星日淘日志集中收集与异常排查
  • 如何3步掌握歌词滚动姬LRC Maker:免费制作专业滚动歌词的终极指南
  • 百家号批量发布工具实测:安全、效率、管理对比
  • Twitter 如何通过关键词获得精准流量?实操思路详解
  • 在Linux上解锁完整B站体验:3个痛点场景与深度解决方案
  • 终极指南:用Nucleus Co-Op实现一台电脑四人同屏游戏
  • 零碳园区智能化管理平台执行反馈层的效果反馈实现逻辑
  • G-Helper:华硕笔记本终极控制指南,三步解锁完整硬件潜能
  • DouyinLiveRecorder:40+平台全自动直播录制神器
  • 计算机毕业设计之基于人脸识别的图书管理系统
  • 工控人怒吼:那些 GitHub 高星的“开源工业项目“,为什么一到产线就翻车?
  • OpenClaw工作流设计入门,自动化任务编排实例标题)
  • 3个关键维度:全面解锁AMD Ryzen处理器的硬件调试能力
  • B2B商城平台营销工具配置全流程指南
  • 2026深度实测|学生编程助手推荐,vibe coding做Python成绩管理课设实战心得
  • Codex EMFILE 打开文件过多错误解决方法
  • 《悬浮窗效果》三、Interface_AVPlayer使用指南
  • Burp-Hunter插件实战:自动化Web漏洞挖掘与Burp Suite协同测试
  • 吃灰板子利旧系列--ESP32-S3养ESP官方虾ESP-Claw
  • 本体论从入门到实战-08.本体模型驱动工程:从分析到设计与实现
  • Qt6.5.2 集成官方MQTT模块:从源码编译到项目部署的CMake实践指南