【題目大意】
判斷兩個字串是否迴圈同構。
【思路】
我一開始的做法是直接同時在兩個字串上求最小表示法,只有部分測試點能過,理由未知,以後再來思考。
現在做法:分別求出兩個字串的最小表示法,再比較是否相等。
1 #include2 #include3 #include4 #include5using
namespace
std;
6const
int maxn=1000000+500;7
char a[maxn*2],b[maxn*2];8
intn,m;910
void
init()
1118
19int getmin(char *s)
2033}34
return
min(i,j);35}
3637
void
solve()
3848
if(flag)
4953
else puts("no"
);54}55
56int
main()
57
bzoj2882 工藝 最小表示法
小敏和小燕是一對好朋友。他們正在玩一種神奇的遊戲,叫minecraft。他們現在要做乙個由方塊構成的長條工藝品。但是方塊現在是亂的,而且由於機器的要求,他們只能做到把這個工藝品最左邊的方塊放到最右邊。他們想,在僅這乙個操作下,最漂亮的工藝品能多漂亮。兩個工藝品美觀的比較方法是,從頭開始比較,如果第i...
最小表示法
最小表示法就是找出字串s的的迴圈同構串中字典序最小的乙個。那麼什麼是迴圈同構串呢。是 設s bcad 且s 是s 的迴圈同構的串。s 可以是 bcad 或者cadb,adbc,dbca 即在字串s中從i 0開始,從i迴圈到字串末尾,再從頭迴圈到i,所形成的字元就是s迴圈同構串。因為這樣的同構串不止乙...
最小表示法
最小表示法 思想 在字串迴圈同構問題中的應用 摘自周源的ppt 前言 最小表示法 比起動態規劃 貪心等思想,在當今競賽中似乎並不是很常見。但是在解決判斷 同構 一類問題中卻起著重要的作用。本文即將討論字串中的同構問題,如何巧妙地運用最小表示法來解題呢,讓我們繼續一起思考吧。到底什麼是迴圈同構的字串呢...