国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

CF競(jìng)賽題目講解_CF835D(區(qū)間DP+回文字符串)

2022-09-03 16:27 作者:Clayton_Zhou  | 我要投稿

https://codeforces.com/contest/835/problem/D


題意:

一個(gè)字符是 1 級(jí)回文。一個(gè)字符串是 k 級(jí)回文當(dāng)且僅當(dāng)下面條件成立:


1. 它的左邊一半與右邊一半對(duì)稱,如果字符串長(zhǎng)度為7,則一半長(zhǎng)度為3;

2. 它的左邊和右邊一半都是非空的 k?1 回文。

左半字符串 t 的前綴長(zhǎng)度為 ?t|2?,右半字符串是同樣長(zhǎng)度的后綴。?t|2? 是字符串 t 的長(zhǎng)度除以 2 以后向下取整。


Note that each substring is counted as many times as it appears in the string.

如果一個(gè)回文子串出現(xiàn)多次,則也被計(jì)數(shù)多次。


題解:

使用區(qū)間 dp 進(jìn)行計(jì)算。設(shè) dp[L][r] 表示區(qū)間 [L,r] 是幾級(jí)回文串。

如果不是回文串則值為 0。先預(yù)處理出 dp[i][i] 的值。之后,轉(zhuǎn)移方程為:


1. 若 s[L]≠s[r] 或者 dp[L+1][r?1]=0,則 dp[L][r]=0。


2. 若 s[L]=s[r] 且 dp[L+1][r?1]≠0,那么 dp[L][r] = dp[L][L + len / 2 - 1]+1


ans 數(shù)組先記錄每級(jí)回文串有多少個(gè),然后再加上所有大于當(dāng)前回文串級(jí)數(shù)的回文串個(gè)數(shù)。

例如:2級(jí)回文串 也是 1級(jí)回文串


CF競(jìng)賽題目講解_CF835D(區(qū)間DP+回文字符串)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
陆丰市| 新建县| 沂南县| 雷山县| 兴隆县| 海宁市| 从化市| 曲水县| 永丰县| 黄陵县| 西昌市| 光泽县| 阜南县| 沁源县| 当阳市| 饶平县| 鹿泉市| 雷山县| 岗巴县| 特克斯县| 成安县| 荥阳市| 迁安市| 江源县| 正宁县| 冀州市| 卫辉市| 本溪| 南和县| 靖江市| 白河县| 汾阳市| 漯河市| 奇台县| 巩留县| 印江| 灌云县| 大丰市| 克拉玛依市| 会泽县| 离岛区|