2020-04-08 08:05:15
問題描述:
蒜國有n
座城市,編號從1
到n
,城市間有n−1
條道路,且保證任意兩座城市之間是連通的。每一座城市有一定數量的鑽石。
蒜頭君想在蒜國蒐集鑽石。他從城市1
出發,每天他可以通過城市之間道路開車到另外的城市。當蒜頭第一次到乙個城市的時候,他可以蒐集完這個城市的所有鑽石,如果他後面再來到這個城市,就沒有磚石可以收集了。
蒜頭君只有k
天時間,請你幫算蒜頭君計算他最多可以蒐集多少鑽石。
num
表示每個城市的鑽石數量,mp
表示城市所有的道路。
樣例
樣例 1:
輸入: n=3,k=2,num=[3,8,3],mp=[[1,3],[3,2]]
輸出: 14
解釋:他能得到所有的鑽石
樣例 2:
輸入: n=6,k=2,num=[5,9,8,4,9,2],mp=[[1,6],[6,2],[2,5],[5,3],[5,4]]
輸出: 16
解釋:他可以得到第1、2、6個城市中的鑽石
注意事項
問題求解:
int m;int nums;
int dp = new int[210][210][2];
list graph;
void dfs(int fa,int u)
for(int i=0;i=1;j--)
dp[u][j][0]=math.max(dp[u][j][0],dp[u][e][1]+dp[v][j-e-1][0]);//後面的不回來}}
}}
public int getcount(int n, int k, int num, int mp)
dfs(-1, 1);
return dp[1][m][0];
}
動態規劃 樹上揹包
題意 每個頂點有兩個權值b和w。最多3000個節點的樹,分成恰好m個非空的連通塊,使得盡可能多的連通塊滿足w的和嚴格大於b的和。樹上揹包的套路題,這裡揹包 dp i j 表示以i為根的子樹,已經劃分了 j 個連通塊,包括根節點在內的最後乙個連通塊沒有劃分,能取到的最優值。這一題最優值看起來有兩維,但...
動態規劃 dp
威威貓系列故事 打地鼠 威威貓最近不務正業,每天沉迷於遊戲 打地鼠 每當朋友們勸他別太著迷遊戲,應該好好工作的時候,他總是說,我是威威貓,貓打老鼠就是我的工作!無話可說.我們知道,打地鼠是一款經典小遊戲,規則很簡單 每隔乙個時間段就會從地下冒出乙隻或多隻地鼠,玩遊戲的人要做的就是打地鼠。假設 1 每...
動態規劃,dp
線性動規區間動規樹形動規 區間動規 根據題目要求,全域性最優滿足區域性最優 典型題例 加分二叉樹 洛谷1040 題目介紹 題目描述 設乙個n 個節點的二叉樹t 的中序遍歷為 1,2,3,n 其中數字 1,2,3,n 為節點編號。每個節點都有乙個分數 均為正整數 記第j 個節點的分數為dj。二叉樹t ...