牛客多校3 - Two Matchings(dp)
題目鏈接:點(diǎn)擊查看
題目大意:給出 n 個(gè)點(diǎn)( n 為偶數(shù) ),題目需要求出兩個(gè)完全沒(méi)有交集的匹配 q 和 p ,一方面使得 n 個(gè)點(diǎn)兩兩互相匹配,另一方面使得匹配的權(quán)值和最小
題目分析:一道 dp 題,比賽時(shí)貪心WA了一下午,就比較自閉了
因?yàn)?n 是偶數(shù),所以可以考慮將 n 個(gè)數(shù)分配到不同的長(zhǎng)度為偶數(shù)的環(huán)中,對(duì)于排列 q 和排列 p,只需要在偶環(huán)中交換一下位置就好了
但這個(gè)偶環(huán)的長(zhǎng)度必須要大于 2 ,因?yàn)槿绻L(zhǎng)度為 2 的話,那么無(wú)法保證兩個(gè)匹配 q 和 p 不存在交集
還有一個(gè)需要觀察或者猜出的結(jié)論就是,任意長(zhǎng)度大于等于 8 的偶環(huán),都可以分解為長(zhǎng)度為 4 和長(zhǎng)度為 6 的偶環(huán),且總邊權(quán)更小
那么現(xiàn)在就對(duì)于長(zhǎng)度為 4 和長(zhǎng)度為 6 的偶環(huán)計(jì)算一下貪心可以獲得的最小邊權(quán)之和是多少吧,直接上圖:
?
?
這樣總結(jié)一下,對(duì)于長(zhǎng)度為 x 的偶環(huán)( x = 4 或 x = 6 ),貪心可以得到的最小權(quán)值和為 2 * ( a[ i ] - a[ i - x ] ) ,注意 a 數(shù)組是排序后的數(shù)組
這樣我們直接進(jìn)行動(dòng)態(tài)規(guī)劃就好了
代碼:
?
?
總結(jié)
以上是生活随笔為你收集整理的牛客多校3 - Two Matchings(dp)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HDU - 6749 Mosquito(
- 下一篇: 牛客多校4 - Basic Gcd Pr