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

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

CF Round #870 (Div. 2) D. Running Miles 貪心 + 區(qū)間dp

2023-06-04 10:50 作者:StepfenShawn  | 我要投稿

感覺好久沒寫dp了,藍(lán)橋決賽前寫點(diǎn)?dp 找找?feel??(doge)。。。

題目地址: https://codeforces.com/contest/1826/problem/D

題目大意: 有一個(gè)序列,求一個(gè)區(qū)間使得區(qū)間前三大的值減去(r-l)的值最大,求最大值

思路: 可以使用貪心的思想考慮選擇左右邊界[l, r], 其中 a[l], a[r] 是改區(qū)間前三大值的其中兩個(gè), 當(dāng)然,我們可以假設(shè)選取右端點(diǎn) r 作為前三大值的其中一個(gè), 然后通過 dp 枚舉答案, 那么可以設(shè)置狀態(tài):

dp[i][0] : 從 i 往前選取 0 個(gè)數(shù)時(shí)得到的最大值

dp[i][1] :?從 i 往前選取?1?個(gè)數(shù)時(shí)得到的最大值

dp[i][2] :?從 i 往前選取 2?個(gè)數(shù)時(shí)得到的最大值

dp[i][3]?:?從 i 往前選取 3?個(gè)數(shù)時(shí)得到的最大值

下面我們來推導(dǎo)狀態(tài)轉(zhuǎn)移方程:

對(duì)于 dp[i][0], 顯然有 dp[i - 1][0]

dp[i][1], 我們可以從當(dāng)前為開始選, 亦或者是從上一個(gè)狀態(tài)轉(zhuǎn)移過來的(也就是dp[i - 1][1],?又因?yàn)閰^(qū)間變長(zhǎng)了, 所以為 dp[i - 1][1] - 1):

dp[i][1] = max(dp[i - 1][0] + a[i], dp[i - 1][1] - 1)

同樣:

dp[i][2] = max(dp[i - 1][1] + a[i] - 1, dp[i - 1][2] - 1)

dp[i][3] = max(dp[i - 1][2] + a[i] - 1, dp[i - 1][3] - 1)

于是我們就可以枚舉右端點(diǎn) r (從 3 開始) 得到最大值了

時(shí)間復(fù)雜度: O(n%20):


CF Round #870 (Div. 2) D. Running Miles 貪心 + 區(qū)間dp的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
汉寿县| 宽甸| 托克托县| 广汉市| 西丰县| 西林县| 西充县| 龙口市| 神池县| 荔浦县| 陵水| 霍林郭勒市| 阳信县| 青海省| 林州市| 偃师市| 鹤山市| 伊宁县| 文水县| 怀柔区| 金寨县| 道真| 册亨县| 广州市| 门源| 陇南市| 长寿区| 天气| 淳安县| 陆良县| 六枝特区| 东阳市| 益阳市| 诏安县| 衡南县| 连州市| 阿拉善盟| 日照市| 两当县| 金乡县| 登封市|