THUPC2018 綠綠和串串

2022-03-26 19:00:41 字數 712 閱讀 9196

題目

水題,就當複習馬拉車了;

設\(vis_i\)表示字首\(i\)能否變換成功;

如果字首\(i\)進行一次對稱變換,長度為\(i+i-1\);當\(i+i-1>n\)的時候,我們只需要判斷回文半徑是否不小於\(n-i\)即可;

當\(i=i-1\leq n\)時,如果進行變換後得到的是字首\(i+i-1\),那麼\(vis_i=vis_\),否則\(vis_i=0\);

於是我們只要判斷\(i\)進行對稱變換後是否為\(i+i-1\),這相當於問\(i\)的回文半徑是否為\(i-1\),馬拉車即可;

**

#include#define re register

#define min(a,b) ((a)<(b)?(a):(b))

const int maxn=1e6+5;int n;

int vis[maxn],r[maxn];char s[maxn];

int main()

for(re int i=n-1;i>1;i--)

vis[i]=(r[i]>=i-1)&vis[i+i-1];

} for(re int i=1;i<=n;i++)if(vis[i])printf("%d%c",i,(i==n)?'\n':' '),vis[i]=0; }}

//g++ lg5446.cpp -o lg5446 -o2 -lm -std=c++11

LOJ6388 THUPC2018 賽艇 題解

如果你做過bzoj5217 lydsy2017省隊十連測 航海艦隊的話,那麼恭喜你,這道題就是大水題。如果你做過bzoj4259 殘缺的字串的話,那麼基本的字串匹配fft也是能想到的。如果沒做過的話,很抱歉,沒有一定的套路的話這道題很難想 而對於我這樣的蒟蒻來說就是沒法想。將行走路線看做乙個地圖b,...

THUPC 2022 初賽遊記

報名。然後糾結隊名。最後決定為了重振 eason ak 的榮光,選了 eason ak。不過最後還是改成了長沙麻將三缺一.第一次打 acm 組隊。不知道密碼改了.晚了一點。首先亂開題。看一眼 a,感覺可做,給隊友了。看一眼 k,感覺有點毒瘤,然後自閉。前 1h 都沒有過題.然後反應過來 k 是 題,...

THUPC2019 過河卒二

題目 好難啊,不會啊 啊,k leq 20 那就直接容斥吧 我們硬點一些控制點,之後使我們必須經過這些被硬點的點 由於我們只能往右上走,所以經過這些被欽定的點的順序是一定的,我們只需要考慮相鄰兩點之間的路徑數最後乘起來就好 於是我們需要推乙個 f n,m 表示從 0,0 走到 n,m 的路徑數 如果...