最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
宁津县| 阜康市| 天峻县| 玉门市| 敦化市| 竹溪县| 镇平县| 塔河县| 桓台县| 颍上县| 长沙市| 诏安县| 遂平县| 德惠市| 科尔| 莱西市| 石嘴山市| 东乡族自治县| 榆树市| 德保县| 睢宁县| 宁阳县| 调兵山市| 革吉县| 沂源县| 泗水县| 财经| 霞浦县| 乌拉特前旗| 赤壁市| 徐水县| 崇阳县| 琼海市| 东城区| 淅川县| 沅陵县| 道真| 闽侯县| 教育| 铁岭县| 高安市|