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

打卡信奥刷题(3030)用C++实现信奥题 P6456 [COCI 2006/2007 #5] DVAPUT

P6456 [COCI 2006/2007 #5] DVAPUT

题目描述

给定一个长度为L LL的字符串,你需要找出一个最长的子串,并且使得这个子串在字符串中出现了至少两次(在不同的位置)。输出它的长度。

输入格式

输入第一行一个整数L LL,表示字符串的长度。

第二行为一个长度为L LL的字符串。

输出格式

输出一行一个整数,表示这个最长串的长度。

输入输出样例 #1

输入 #1

11 sabcabcfabc

输出 #1

3

输入输出样例 #2

输入 #2

18 trutrutiktiktappop

输出 #2

4

输入输出样例 #3

输入 #3

6 abcdef

输出 #3

0

说明/提示

数据规模与约定

对于100 % 100\%100%的数据,保证1 ≤ L ≤ 2 × 10 5 1\le L\le 2\times 10^51L2×105,输入的字符串都为小写字母。

说明

题目译自 COCI2006-2007 CONTEST #5T6 DVAPUT

C++实现

#include<bits/stdc++.h>#defineintlonglong#defineullunsignedlonglongusingnamespacestd;constintN=2e5+10,Base=13331;intn;string s;ull pw[N],hs[N];intget_hs(intl,intr){returnhs[r]-hs[l-1]*pw[r-l+1];}boolcheck(intmid){if(mid==0)return1;unordered_set<ull>mp;for(inti=1;i+mid-1<=n;i++){ull hs=get_hs(i,i+mid-1);if(mp.count(hs))return1;mp.insert(hs);}return0;}signedmain(){cin.tie(0),cout.tie(0)->sync_with_stdio(false);cin>>n>>s;s=' '+s;pw[0]=1;for(inti=1;i<=n;i++){pw[i]=pw[i-1]*Base;hs[i]=hs[i-1]*Base+s[i];}intl=0,r=n+1;while(l+1<r){intmid=l+r>>1;if(check(mid))l=mid;elser=mid;}cout<<l;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/556703/

相关文章:

  • EMQX Dashboard 5.1新手指南:从安装到安全配置的完整流程
  • 构建智能游戏AI的理想训练场:腾讯王者荣耀AI开放环境全解析
  • EXE一机一码加密软件源码深度解析:从零构建你的软件授权系统
  • XXL-Job任务状态全解析:从调度日志(xxl_job_log)看懂任务的一生
  • OpenClaw性能调优:GLM-4.7-Flash长文本处理缓存策略
  • Nomic-Embed-Text-V2-MoE生成技术博客:以CSDN风格撰写模型评测文章
  • AtlasOS终极指南:3步彻底解决Windows 2502/2503安装错误
  • 耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
  • Flax过滤器系统终极指南:如何实现灵活的变量选择机制
  • 域对抗图卷积网络在工业设备跨工况故障诊断中的实践与优化
  • CMake库管理终极指南:从‘find_package’到制作可被他人引用的Config文件
  • Scarab:重塑游戏模组体验的跨平台管理工具
  • ChatGLM-6B真实反馈:用户对话满意度调查结果分享
  • 利用ar_track_alvar实现高效二维码追踪与识别
  • SolidWorks装配体设计必备:如何用草图投影实现零件快速匹配(2023最新版)
  • Blender资源大全:3D创作工作流的终极完整解决方案
  • PTA作业救星:5分钟搞定Shape与Oval的Java继承关系(含测试用例设计指南)
  • UEFI 随笔 011 — NULL Lib 聚合案例 SKU View Design
  • ESP32 BLE MTU 协商实战:从原理到手机端配置优化
  • Java AI 面试常见问题
  • 重构智能体通信:agno MCP协议的设计哲学与实践指南
  • G-Helper终极指南:告别臃肿控制中心,华硕笔记本性能优化完全教程
  • 揭秘Mem Reduct:被忽视的内存管理技术如何解决系统卡顿难题
  • # 发散创新:基于 Rust的分布式数据库架构设计与实战演练在当前云原生和微服务架
  • RouteRAG:用特殊 Token 和强化学习构建可学习的 RAG 检索策略
  • 别再只玩文字聊天了!手把手教你用25元月付服务器,给微信AI伙伴装上‘眼睛’和‘嘴巴’
  • 三相并网逆变器FCS MPC模型预测控制技术说明与LCL matlab simulink仿真视...
  • 逆向思维玩转PS掩码图:当白色背景变成透明利器(EasyX三元光栅操作码详解)
  • JiYuTrainer技术探索指南:从原理到实践的完整路径
  • 每日算法题 19---142.环形链表Ⅱ