JZOJ 5272 神奇的重複序列

2021-08-06 06:33:06 字數 905 閱讀 5590

列舉兩字串的開頭,暴力往後掃大家應該會做吧,

設兩字串開頭為x,y(x

,設k=

y−x

我們發現,如果對於多個位置,如果它在所在串的相對位置%k是相同的,那麼這幾個位都必須相同,

比如:兩串的開頭為1、3,k=2,那麼,1、3、5、7等都必須相等,

換句話說,就是在兩串相交時,會有一定的週期性,

(大家寫兩個資料看看就可以知道了)

發現開頭沒有必要乙個個列舉,直接設前面開頭為位置1,然後貪心找到合法的最右邊,再彈掉開頭即可,

複雜度:o(

n2∗26

)

#include
#include

#define fo(i,a,b) for(int i=a;i<=b;i++)

#define min(q,w) ((q)>(w)?(w):(q))

#define max(q,w) ((q)

using

namespace

std;

const

int n=3500;

int m,n,ans;

int a[n];

int b[n][28],bs[n];

int z[n],ti;

void upd(int q)

int main()

q=0;ti++;

int s=1,t;

for(t=1;i+t<=n;t++)

ans=max(ans,t-s+1);}}

printf("%d\n",ans);

return

0;}

JZOJ 5276 神奇的玩具

是不是一眼很像什麼網路流線性規劃之類的?然而並無思路,打乙個暴力,加上剪枝卻跑得飛快 構出圖,玩具為邊,商店為點 爆搜哪些點選,那麼一條邊鏈結的兩個點必有乙個選 另外加上一些可行性,最優性剪枝 複雜度據說是o fibonacci 40 by alan cty orz include include ...

JZOJ5278 神奇的車票

設答案為f n,m 先排除平移相同,那麼需要使外輪廓四邊上都有點,最後再將比它小矩形f n m n 對於乙個置換群g a1.ak g a 1.ak 令c1 ai c 1 ai 表示經過置換ai a i後不動點的個數,那麼等價類個數為 c 1 ai k c1 ai k通俗來講,給定k種操作,對於乙個狀...

(思維)CSL 的神奇序列

時間限制 c c 2秒,其他語言4秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 有乙個神奇的無窮實數序列,他的每一項滿足如下關係 對於任意的正整數 n 有 n k 0akan k w2 k 0nakan k w2 並且 a0 wa0 ...