杭電多校2020第八場

2021-10-09 06:34:23 字數 1125 閱讀 7301

isomorphic strings

題意:兩個字串s,t互為cyclical isomorphic,當且僅當s將前x個字元移到末尾後,s與t想等,例如s = abcde, t = deabc,那麼s和t互為cyclical isomorphic。

給定乙個s串,長度為n,k為n的因子,現在將s分成k個等長的字串s1,s2,…sk,問是否存在乙個t串,使得存在乙個k,滿足s1,s2,…,sk都和t互為cyclical isomorphic。

題解:列舉k,將s分割成k串s1,s2,…,sk,設t=s1s1,即s1串複製一遍,跑kmp判斷所有的子串是否包含於t串即可。

ac_code:

const

int maxn =

1e7+5;

char s[maxn]

,t[maxn]

,temp[maxn]

;int next[maxn]

;int lent;

int tt;

//求next陣列

void

getnext

(int x)

else k=next[k];}

}int

kmp(

int x)

else}if

(j==x)

return i-j+1;

else

return-1

;}void

solve()

vl v;

for(ll k=

1; k++k)

bool ok =0;

for(

auto x: v)

for(

int i=x; i<

2*x;

++i)

lent =

2* x;

for(

int i=

0; i++i)

cnt =0;

int ans =

kmp(x);if

(ans ==-1

)}if(cnt != mod) ok =1;

}if(ok)w(

"yes");

elsew(

"no");

}

杭電多校第八場

1003 題目鏈結 clockwise or counterclockwise 水題,經歷過牛客應該知道叉積可以判斷順逆時針。叉積參考 叉積 參考 include include include include include include include include include incl...

2019杭電多校第八場

感覺慢慢陷入了疲態 依舊是努力簽到的一天 1009 calabash and landlord 各種分類討論,交上去,wa,造資料,找到bug,改一改,交上去,wa,造資料,改一改,wa,改一改,wa 迴圈多次後ac,然後自己也不知道自己寫的是個啥了。後來聽群裡老哥們說只要離散化到5 5的格仔裡然後...

杭電第八場

畫圖可知,當c點在向量ab的右邊時,圖形為順時針,則向量ab與向量ac的叉乘的值應小於0。include using namespace std typedef long long ll struct pointpoint 10 int main return0 當每輸入一次範圍時,只需要達到輸入的...