[JZOJ1598]文件修复
来源:互联网 发布:windows运行命令快捷键 编辑:程序博客网 时间:2024/06/13 19:53
Description
有一个文件被破坏了,可是值得庆幸的是,只是文件的顺序被打乱了。文件仅包含大小写的拉丁字母以及逗号,句号和叹号。为了尽快修复,请你找出有多少个至少出现两次的子串。
比如字符串abbabc,子串”a”,”b”,”ab”分别出现了2次,3次,2次。
Solution
这是一道
对于排好序的每个后缀
- abbabc
- abc
- babc
- bbabc
- bc
- c
做到第
显然
然而可能有的字符已经算过了,要减掉重复的
对于每一种算过的子串,只保留一个,其他的都要减掉,那就把每一次的
所以每一次就减
下面只贴主程序
Code
int main(){ scanf("%s",st+1); n=strlen(st+1); int i; fo(i,1,n) { int cm=st[i]; m=max(m,cm); } findSA(); findheight(); int ans=0; fo(i,2,n) ans+=max(0,height[i]-height[i-1]);//关键 cout<<ans;}
1 0
- [JZOJ1598]文件修复
- 【后缀数组】JZOJ1598
- 文件修复
- EXE文件关联修复
- 修复txt文件关联
- oracle修复日志文件
- 系统文件修复方法
- XP 系统文件修复
- chm文件关联修复
- exe文件关联修复
- 修复exe文件关联
- mysql 修复索引文件
- vmdk文件修复
- EXE文件关联修复
- Windows文件关联修复
- cue文件的修复
- word文件修复窍门
- Word文件修复
- Android内核开发:从源码树中删除出厂的app应用
- Bluemix使用与其他云平台对比
- Android最新flash播放器----iFlashPlayer被Adobe放弃的逆袭(softboy)
- Loadrunner开发tuxedo类型的脚本
- 如何上传python
- [JZOJ1598]文件修复
- GDOI2016题解
- java 基础题之 分数
- URAL1057_Amount Of Degrees
- STM32_BKP备份数据
- java中instanceof用法
- Qml中ToolTip的创建
- [Leetcode] 278. First Bad Version
- Android内核开发:在源码树中添加新的app应用