看板 ACMCLUB 關於我們 聯絡資訊
※ 引述《CorruptAngel (微笑面具)》之銘言: : 怎樣判定"所有共用子樹"@@? : ※ 引述《denehs (DE)》之銘言: : : 我解釋一下我實際coding時的作法 : : 對於每一個node,我給他們各兩個值,O代表將這個node拿掉 : : 這個node+這個node以下所能貢獻的最大value : : X則是不拿 : : 則 : : O是他底下一層nodes每個OX取最大, : : X我則是直接設0 : : 然後做的順序,隨意找一個node往下做,然後再找一個node(沒做過的)往下做 : : 直到做完,如果碰到共用子樹,且共用的子樹已被處理過 : : 就直接使用那顆子樹的結果... : : XD~~~忘了把code留下(好像也沒辦法留@@?) : : 真是抱歉,不會用很好的方法解釋@@".... 不需要判定@@".... 我的意思是說,跑到已經跑過的node就讓那個node為之前跑取or不取的狀態... 然後當一個node底下level所能貢獻的最大的value合<0時,就不娶那個node 並且用第迴將那個node的子樹通通設為不取 (btw,我不確定我的方法是對的:P) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.240.181