JZOJ3914 人品問題 樹形DP

2022-09-03 03:27:10 字數 847 閱讀 5517

選擇乙個結點當且僅當選擇他的父親。求選擇m

m個結點的最大價值。

看到這道題立馬想到方程。很好,o(n

3)o(

n3)。肯定會tt飛。

看看資料,嗯n≤

100n≤1

00。。。

// 設f[x][k]表示在以結點x為根的子數中選擇k個結點的最大價值、

// 那麼當這棵樹沒有子節點時,僅有f[x][1]=a[x],其它全部是inf

// 當這棵樹僅有乙個子節點時,那麼f[x][i]=f[son[x]][i-1]+a[x],不解釋

// 當這棵樹有兩個子節點時,列舉左右結點的選擇個數,取最優即可

#include

#include

#include

using

namespace std;

const

int n=

110;

int f[n]

[n],n,m,a[n]

,lson[n]

,rson[n]

;voiddp(

int x)if(

!lson[x]

)//僅有乙個結點if(

!rson[x]

)//同上

dp(lson[x]);

dp(rson[x]);

f[x][1

]=a[x]

;for

(int i=

2;i<=m;i++

)for

(int j=

0;j<=i;j++

)//列舉選擇個數

}int

main()

jzoj 3914 人品問題 樹形DP

description 網上出現了一種高科技產品 人品測試器。只要你把你的真實姓名輸入進去,系統將自動輸出你的人品指數。yzx不相信自己的人品為0。經過了許多研究後,yzx得出了乙個更為科學的人品計算方法。這種方法的理論依據是乙個非常重要的結論 人品具有遺傳性。因此,乙個人的人品完全由他的祖先決定。...

樹形dp JZOJ 3914 人品問題

給出一棵樹。乙個節點至多有兩個祖先,如果選了某個祖先,那麼它的後代必須要選乙個。每個點上有乙個權值,求出從1 11號節點取k kk個祖先的最大總權值。很明顯的樹形動態規劃,資料較小,這裡打了o n 3 o n 3 o n3 的做法。設f i j f i j f i j 為第i ii個點選了j jj個...

樹形dp Jzoj P3914 人品問題

description 網上出現了一種高科技產品 人品測試器。只要你把你的真實姓名輸入進去,系統將自動輸出你的人品指數。yzx不相信自己的人品為0。經過了許多研究後,yzx得出了乙個更為科學的人品計算方法。這種方法的理論依據是乙個非常重要的結論 人品具有遺傳性。因此,乙個人的人品完全由他的祖先決定。...