![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串最小表示法
AKone123456
这个作者很懒,什么都没留下…
展开
-
雪花雪花雪花----------------------------------思维(最小表示法)
解析:由两种操作:1.翻转2.旋转旋转可以把第n个位置移到第一个位置上,正好符合了最小表示法的性质。对于旋转我们用最小表示法求出最小字典序对于翻转,我们先翻转一下,然后对于翻转的数组用最小表示法求出最小字典序最后对于两种操作取最小的字典序数组。然后给这些数组从小到大排序(方便比较是否相等) 比较相邻数组的字典序是否一样。一样就输出:Twin snowflakes found.不一样输出:No two snowflakes are alike.#include<bits/s..原创 2020-05-15 13:13:56 · 198 阅读 · 0 评论 -
P1368 工艺 /【模板】最小表示法
#include<bits/stdc++.h>using namespace std;const int N=6e5+1000;int a[N],n;void slove(){ int i=0,j=1,k; while(i<n&&j<n) { for(k=0;k<n&&a[i+k]==a[j+k];k++) if(k==n) break; if(a[i+k]>a[j+k]) { i+=k+1; ..原创 2020-05-15 12:29:19 · 203 阅读 · 0 评论