五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

CF競賽題目講解_CF256E(區(qū)間DP + 線段樹 + 矩陣乘法)

2022-09-21 09:37 作者:Clayton_Zhou  | 我要投稿

https://codeforces.com/contest/256/problem/E

題目:

要求構(gòu)造一個(gè)由數(shù)字1,2,3組成的長度為n的序列,

其中某些位置已經(jīng)指定(1,2,3中的一個(gè)),同時(shí)有一組規(guī)則,

即某些數(shù)字不能相鄰,例如23. 求序列的可能個(gè)數(shù)。


題解:

區(qū)間DP + 線段樹 + 矩陣乘法

維護(hù)一個(gè)線段樹,每個(gè)節(jié)點(diǎn)有一個(gè)矩陣a[3][3],

a[i][j]表示這個(gè)區(qū)間的第一個(gè)數(shù)是i,最后一個(gè)數(shù)是j的序列數(shù)目有多少。

初始化的時(shí)候,對于葉子,便是a[i][j]=(i==j?1:0),即對角矩陣,表示每一位有1,2,3三種可能。

然后向上更新,則需要枚舉父親的兩端,然后枚舉子節(jié)點(diǎn)的另外兩端,判斷兩個(gè)內(nèi)側(cè)相鄰是否符合規(guī)則,使用矩陣乘法。

對于每一次查詢,則去更新葉子結(jié)點(diǎn)。

?


CF競賽題目講解_CF256E(區(qū)間DP + 線段樹 + 矩陣乘法)的評論 (共 條)

分享到微博請遵守國家法律
小金县| 定远县| 澳门| 镇安县| 藁城市| 汶上县| 沙田区| 子长县| 高碑店市| 山丹县| 沅陵县| 钟祥市| 青阳县| 锡林浩特市| 安福县| 遵义市| 察雅县| 五寨县| 壤塘县| 哈巴河县| 上林县| 江都市| 昭苏县| 遂平县| 峨边| 原阳县| 乌兰浩特市| 长汀县| 松原市| 图们市| 海林市| 鹤峰县| 宜丰县| 通渭县| 阿合奇县| 图们市| 获嘉县| 乌拉特中旗| 津南区| 健康| 青冈县|