將功補過 樹形DP

2021-10-09 04:14:27 字數 2702 閱讀 9164

time limit:10000ms memory limit:65536k

total submit:41 accepted:28

case time limit:1000ms

description

作為間諜專家的elv

is

elvis

elvishan

hanha

n受竊取x

xx星球軍事中心的秘密情報,他已經成功進入軍事中心。但是很不幸的是,在他還沒有找到任務需要情報的時候就被發現,這時他清楚他不可能完成任務了,不過還有機會將功補過,也就是得到一些不如任務情報有價值的其他情報,如果得到的情報的總價值大於等於任務情**值,他也不會受到懲罰。很幸運的是他已經得到的軍事中心的地圖,情報都是隱藏在各個道路上的,但是他只有時間遍歷一定數量的路(時間寶貴呀!還要逃跑。。)現在你做為他的助手,給你地圖和每個道路情**值,希望你分析出,看他能不能將功補過。

軍事中心是乙個嚴格的二叉樹,也就是說,如果有個點可以分道,一定是分出,也只分出2

22條道路,現在elv

isha

nelvis han

elvish

an正處在第乙個分道處,也就是說樹的根結點處。每條道路上都有乙個分數,就是這個道路上的情**值。但是他只有時間走m

mm條路,他的最終情**值總和就是他所經過的路的情**值總和(假設他到過的路一定可以把所有情報得到)希望你給出乙個方案使得他可以盡量多地獲取情報以便將功補過。

input

共有n行:

第一行:3

33個資料:n,m

,q

n,m,q

n,m,q(n

nn表示有多少個路口,包括分道和不分道的路口;m

mm表示他可以有時間走的道路總數;q

qq表示他的任務情報的價值)

第2

n2~n

2n行:每行3

33個資料,xi,

yi,w

ixi,yi,wi

xi,yi,

wi(x ,y

x,yx,

y表示第i條道路連線的2

22個路口,w

ww表示這條道路上的情**值分, 注意,所有資料均在lon

in

tlonint

lonint

範圍內)

output

共包含2

22行:

第一行:輸出tru

e/fa

ls

etrue/false

true/f

alse

(注意大小寫),表示他是否可以收集夠任務情**值

第二行:輸出乙個資料:

如果他可以完成任務,就輸出他收集的情報總價值超過任務情**值的部分。(正數)

如果不能完成任務,就輸出乙個數,表示他不能還差多少分才夠任務情**值。(負數)

sample input

【樣例輸入1】

3 1 10

1 2 10

1 3 8

【樣例輸入2】

9 3 49

6 2 15

7 2 10

8 7 6

7 9 15

1 3 20

2 1 10

4 3 8

3 5 7

sample output

【樣例輸出1】

true

0【樣例輸出2】

false

-4《資料規模》

對於30

3030

%的資料 保證有n

<=10

n<=10

n<=1

0對於50

5050

%的資料 保證有n

<=40

n<=40

n<=4

0對於全部的資料 保證有 n

<

=100

n<=100

n<=1

00解題思路

這道題與二叉蘋果樹 幾乎一模一樣!!一模一樣!!一模一樣!!

**

#include

#include

#include

#include

using namespace std;

long long n,m,q,x,y,z,a[

110]

[110

],s[

110]

[110

],c[

110]

,v[110

],f[

110]

[110];

void

dfs(int dep)}}

}int main()

dfs(1)

;if(f[1

][m]

>=q)

printf

("true\n%d"

,f[1

][m]

-q);

else

printf

("false\n%d"

,f[1

][m]

-q);

}

將功補過 樹形DP

題意 description 作為間諜專家的elvis han受竊取x星球軍事中心的秘密情報,他已經成功進入軍事中心。但是很不幸的是,在他還沒有找到任務需要情報的時候就被發現,這時他清楚他不可能完成任務了,不過還有機會將功補過,也就是得到一些不如任務情報有價值的其他情報,如果得到的情報的總價值大於等...

將功補過(樹形dp)

description 作為間諜專家的elvis han受竊取x星球軍事中心的秘密情報,他已經成功進入軍事中心。但是很不幸的是,在他還沒有找到任務需要情報的時候就被發現,這時他清楚他不可能完成任務了,不過還有機會將功補過,也就是得到一些不如任務情報有價值的其他情報,如果得到的情報的總價值大於等於任務...

2005 2 3 加班啦,算是將功補過

又遲到了,5555555555555555555555555 把分診的問題改好了 裝置維護中增加了乙個屬性 分診主機 這個屬性的作用確定用哪台工作站為該裝置分診,當為空時表示不參加分診 分診模組中根據上述屬性確定要控制分診的裝置 只對 分診主機 屬性是該工作站名稱的裝置分診 同時分診中僅顯示與參與分...