列舉兩字串的開頭,暴力往後掃大家應該會做吧,
設兩字串開頭為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 ...