五月天青色头像情侣网名,国产亚洲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ó)家法律
德钦县| 佛山市| 金山区| 宁陵县| 大洼县| 诸城市| 曲沃县| 准格尔旗| 兴仁县| 通州区| 抚远县| 曲水县| 荣成市| 富平县| 柞水县| 东台市| 新丰县| 灵丘县| 海城市| 台中县| 龙陵县| 广德县| 柘城县| 玛沁县| 罗平县| 石阡县| 锡林浩特市| 张掖市| 新闻| 宾川县| 蒙山县| 扶余县| 攀枝花市| 二手房| 和田县| 波密县| 施秉县| 建平县| 泰兴市| 阜宁县| 临江市|