D Sum in the tree(樹形 貪心)

2021-09-07 20:50:20 字數 822 閱讀 2476

題目鏈結;

題目大意:給出一棵樹,每個節點到根節點的路徑上經過的所有點的權值之和,其深度為偶數的節點的資訊全部擦除了,也就是用-1表示,讓你求最終所有點權之和(要求最小)

具體思路:對於每乙個節點,這個點到根節點的權值最小的時候是他的所有的根節點的最小值,然後一路更新上去就可以了,最後求值得時候,我們求父親節點和子節點之間的差就可以了, 如果差值為負值就是非法情況。

ac**:

#includeusing namespace std;

# define ll long long

# define inf 0x3f3f3f3f

const int maxn = 1e5+100;

const int mod = 1e9+7;

int head[maxn],num,dp[maxn][3],flag=1,vis[maxn];

struct node

edge[maxn*2];

ll sum;

void addedge(int fr,int to)

void dfs1(int fr,int rt)

dp[fr][0]=minn;

//cout<=1; i--)

//

if(flag==0)

sum=-1;

printf("%lld\n",sum);

return 0;}/*

51 2 2 3

1 -1 2 3 -1

3*/

樹形DP 樹形DP四例

是時候練一下dp了!我的題單 portkey f u,if fu,i 表示以u uu為根節點的子樹中保留i ii條樹枝的最大蘋果數 f u,i max f max f fu,i max這些題是菜,但也不能輕視啊!include using namespace std define in read i...

樹形操作1 樹形拖拽選擇

樹形運算元據,做個整理總結。本篇是關於樹節點拖拽選擇,重新生成一棵新樹,並支援刪除節點。demo 是基於 jquery 及 easy ui 庫實現的。截圖 利用 css3 實現。主要運用了 before,after選擇器 畫 了兩個圓,然後利用border進行圓的調整,最後利用animation及t...

mysql 樹形彙總 mysql 遞迴查詢樹形目錄

早些時候看到一篇 一句sql實現mysql的遞迴查詢 但是必須是在 id大於pid 的情況下才能使用。建立 create table treenodes id int 節點id nodename varchar 60 節點名稱 pid int 節點父id 插入測試資料 insert into tre...