博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hihocoder1766 字符串问题
阅读量:4931 次
发布时间:2019-06-11

本文共 1062 字,大约阅读时间需要 3 分钟。

思路:

不断贪心增加即可。

实现:

1 #include 
2 #include
3 using namespace std; 4 int ne[100005][26]; 5 int main() 6 { 7 string s; 8 while (cin >> s) 9 {10 memset(ne, 0, sizeof ne);11 int n = s.length();12 for (int i = 0; i < 26; i++) ne[n][i] = n;13 for (int i = n - 1; i >= 0; i--)14 {15 for (int j = 0; j < 26; j++)16 ne[i][j] = ne[i + 1][j];17 ne[i][s[i] - 'a'] = i;18 }19 int ans = 1;20 for (int i = 1; i < n; i++)21 {22 int j = i, cur = 0;23 while (j < n)24 {25 if (ne[cur][s[j] - 'a'] < i)26 {27 cur = ne[cur][s[j] - 'a'];28 cur++;29 j++;30 }31 else break;32 }33 ans++;34 i = max(i, j - 1);35 }36 cout << ans << endl;37 }38 return 0;39 }

 

转载于:https://www.cnblogs.com/wangyiming/p/9862147.html

你可能感兴趣的文章
关于win7 下双击不能打开jar 文件
查看>>
学习进度(2016.5.29)
查看>>
Visual studio 创建项目失败vstemplate
查看>>
keras 上添加 roc auc指标
查看>>
Linux命令(二)关机重启
查看>>
[OpeCV] highgui头文件
查看>>
C# 获取远程图片
查看>>
Android——MaterialDesign之一Toolbar
查看>>
filebeat output redis 报错 i/o timeout
查看>>
Java-ArrayList
查看>>
Java获取新浪微博cookies
查看>>
面试题总结
查看>>
【BZOJ1095】捉迷藏(动态点分治)
查看>>
Table Basics [转载]
查看>>
Logback 学习笔记
查看>>
并查集
查看>>
11、组件注册-使用FactoryBean注册组件
查看>>
nyoj_95_众数问题_map练习
查看>>
uchome 是如何将数据插入数据库的
查看>>
For循环
查看>>