BZOJ 2160 拉拉隊排練

2022-05-05 02:24:08 字數 943 閱讀 4373

【題目鏈結】

【演算法】

先簡化題意 : 給定乙個字串,求最長的k個奇回文子串長度的乘積

先執行manacher演算法,對於每個位置i,我們知道以i為中心的回文串的最長半徑為pi,那麼i這個位置對半徑為1-p[i]的回文串的個數都產生了1的」貢獻「

因此,我們可以用差分求出任意半徑的回文串個數,然後統計答案即可,注意要用快速冪

【**】

#includeusing

namespace

std;

#define maxn 1000010

const

int p = 19930726

;typedef

long

long

ll;int

i,len,n;

ll sum,ans,k;

intp[maxn];

ll cnt[maxn];

char

s[maxn];

inline ll power(ll a,ll n)

return

ans;

}

inline

void

manacher()

}

}int

main()

for (i = 1; i <= (len + 1) / 2; i++) cnt[i] += cnt[i-1

]; sum = 0; ans = 1

;

for (i = (len + 1) / 2; i >= 1; i--)

else

}if (sum < k) printf("

-1\n");

else printf("

%lld\n

",ans);

return0;

}

BZOJ 2160 拉拉隊排練

time limit 10 sec memory limit 259 mb submit 832 solved 326 submit status discuss 艾利斯頓商學院籃球隊要參加一年一度的市籃球比賽了。拉拉隊是籃球比賽的乙個看點,好的拉拉隊往往能幫助球隊增加士氣,贏得最終的比賽。所以作為...

bzoj2160 拉拉隊排練

神犇曰 這道題不就是manacher裸題麼,隨便切一切吧 我 manacher是個啥。我只會hash啊。看完manacher教程後 嗯?這都是個卵啊。我去寫hash吧。於是hash的pow陣列寫掛了。一直在wa。終於a掉了。正著hash一遍然後反著hash一遍,最後暴力二分就ok。就醬紫。1 inc...

BZOJ2160 拉拉隊排練

艾利斯頓商學院籃球隊要參加一年一度的市籃球比賽了。拉拉隊是籃球比賽的乙個看點,好的拉拉隊往往能幫助球隊增加士氣,贏得最終的比賽。所以作為拉拉隊隊長的楚雨蕁同學知道,幫助籃球隊訓練好拉拉隊有多麼的重要。拉拉隊的選拔工作已經結束,在雨蕁和校長的挑選下,n位集優秀的身材 舞技於一體的美女從眾多報名的女生中...