最小表示法
最小表示法
最小表示法是用于解决字符串最小表示问题的方法
循环同构
当字符串S中可以选定一个位置i满足 S[i……n] + S[1……i-1] = T 则称 S和T为循环同构
那么字符串的最小表示为与S循环同构的所有字符串中字典序最小的字符串
暴力解决:
我们每次比较i和j开始的循环同构,把当前比较到的位置记做k,每次遇到不一样的字符时就把大的跳过,最后剩下的就是最优解。
int k=0,i=0,j=1;
while(k<n&&i<n&&j<n)
{
原创
2021-01-20 19:50:57 ·
551 阅读 ·
0 评论