有n個點,n-1條邊,破壞這條邊的代價是已知的,有k個特殊的點,問使這k個點互不相連的最小代價
我們破壞邊的最小代價就是建邊使得k個點互不相連的最大代價
所以我們不用考慮刪邊,只考慮如何去建邊
也就是說我們要搞乙個生成樹,用並查集+排序就ok啦~
%%%%愛裝蒻的巨佬
#include
#include
#include
#define n 100001
using
namespace std;
long
long ans;
int n, k, a, b, f[n]
;bool vis[n]
;struct node e[n]
;inline
intfind
(register
int x)
inline
bool
cmp(node x,node y)
inline
intread()
while
(isdigit
(c)) f=
(f<<3)
+(f<<1)
+ c -
48, c =
getchar()
;return f * d;
}int
main()
, f[i]
=i, ans+
=e[i]
.w;sort
(e +
1, e + n, cmp)
;for
(register
int i =
1; i < n; i++
)return
printf
("%lld\n"
,ans)&0
;}
10 17T6 矩陣快速冪
題目背景 守望者 warden,長期在暗夜精靈的的首都艾薩琳內擔任視察監獄的任務,監獄是成長條行的,守望者warden擁有乙個技能名叫 閃爍 這個技能可以把她傳送到後面的監獄內檢視,她比較懶,一般不檢視完所有的監獄,只是從入口進入,然後再從出口出來就算完成任務了。問題描述 頭腦並不發達的warden...
DP 三校聯考1017T3
考場上這題做了我兩個小時。果然第一步都錯了。首先,所謂的絕對值其實可以用最優性忽略!即 a b max a b,b a 所以,不必考慮到底誰大誰小,在最優策略中,一定是合法的。然後就很簡單了 每乙個位置的貢獻分別可能為2,0,2 開頭末尾可能為 1,1 一段連續的2或 2就是一段。這麼搞一下dp就行...
10 17T7 三進製狀壓DP
tyvj兩周年慶典要到了,sam想為tyvj做乙個大蛋糕。蛋糕俯檢視是乙個n m的矩形,它被劃分成n m個邊長為1 1的小正方形區域。可以把蛋糕當成n行m列的矩陣 蛋糕很快做好了,但光禿禿的蛋糕 肯定不好看!所以,sam要在蛋糕的上表面塗抹果醬。果醬有三種,分別是紅果醬 綠果醬 藍果醬,三種果醬的編...