羅区P1122と最大サブツリー(木DP)

タイトル説明

暁明数学の完全な関心、そして勤勉学生では、常に先生にいくつか質問をするクラスの後、教室に滞在します。彼は朝に乗っに学校に行ってきました。ある日、老人を参照するには、道路が突然花を剪定についての質問を考え、剪定植物や花です。放課後の日ので、暁明は、教師との問題を提起します:

奇妙な花は、上記偶数の合計有するNN N花、合計N-1N-1 N - 一緒に花に1つのTiao分岐、および剪定しない場合、すべての花は単離されません。それぞれの花は、花の数がより美しい「美しい指数」、大きなを持っていますが、また「美しいインデックスは、」すべての嫌な見て花を示す、負です。花は2、1つのスローになったので、それらの枝を取り除く:どの手段、「剪定」、いわゆる。「剪定」の一連の後、(おそらく)最後の花を残しました。教師の仕事はしている:「剪定」の一連の(「トリミング」することができるものが行われていない)ので、親族(花)の残りの花「ビューティフル指数」と最大の合計のすべての花。

一瞬思った先生は、正のソリューションを提供します。暁明は、彼があなたを求めるために使用されるので、問題は簡単に、非常に不幸、壊れている参照してください。

入力形式

整数の最初のラインN(1≤N≤16000)N(1≤N≤16000)N 1 N 1 。6 0 0 0 )。これは、上で成長しているオリジナルの花の合計を表すNN Nの花を。

二行目は持っているNN Nの整数を、最初II Iの整数を表し、IIはI美しい花インデックス。

次に、N-1N 1N。- 。1本のライン毎二つの整数A、BA、B、A B、接続の存在を示すAAのA花及びBB 花Bの枝を。

出力フォーマット

「ビューティフルインデックス」の合計を取得することができ、「剪定」の一連の後に最大値を表す数値。絶対値以上である21474836472147483647 2 。1 。4 。7 。4 。8 。3 。6 。4 7

サンプル入力と出力

入力#1
7 
-1 -1 -1 1 1 1 0 
1 4 
2 5 
3 6 
4 7 
5 7 
6 7
出力#1
図3は、
バックパックを始め多くのパケットがさえ...反応しなかったん
[i]はN = 1E5既知のDPアレイは唯一、一次元、DPすることができ参照私をルート美しいサブツリーの最大値です。伝達方程式:DP [I] = MAX( DP [I]、DP [i]が+ DP [J])(J I息子)、注意しません。この問題のために行くことを繰り返して、DFSルートを行うことができるようにちょうど見つけ、明確なルートが存在しません。
オープン配列は、預金裏側のサイズを倍に開いている必要があります!
#include <ビット/ STDC ++ H.>
 の#define N 32005 
 使用して 名前空間STD;
 int型 N-、P、ヘッド[N]、版[N]、次に[N]、TOT = 0 ;
 int型 DP [N] = { - 0x3f3f3f3f }、[N]; // ツリールートと最大でDP [i]は、I 
INT ANS = - 0x3f3f3f3f ;
 ボイド追加(int型 X、INT Y)
{ 
    版[ ++ TOT = Y、次に[TOT ] =頭部[X]、ヘッド[X] = TOT;     
 } 
ボイド DFS(int型 X、INT PRE)
 { 
     // 初期 
     DP [X] = A [X]。
     int型I、J、K。
     ため(I [x]はヘッド=; I;私は= 次に[I])
     { 
         int型、Y = 版[I]を、
         もし(Y == PRE)続けます
         DFS(Y、X)。
         DP [X] = MAX(DP [X]、DP [X] + DP [Y])。
    } 
    ANS = MAX(ANS、DP [X])。
 } 
int型のmain()
{ 
    CIN >> N。
    int型私は、
    memsetの(DP、 - 0x3f3f3f3fはsizeof(DP))。// 注意初始化
    ため(iは= 1 ; I <= N; I ++  
    {
        scanf関数(" %のD "、および[I])。
     } 
    のためには、(iは= 1 ; I <= N- 1、I ++ 
    { 
        int型のX、Y。
        scanf関数(" %D%D "、およびX&Y)。
        (x、y)を加えます。
        (Y、X)を追加します。
    } 
    DFS(10 ); 
    coutの << ANS; 
}

 

おすすめ

転載: www.cnblogs.com/lipoicyclic/p/12571815.html