BZOJ 1864 三色二叉樹 樹DP

2021-07-03 19:09:46 字數 801 閱讀 6182

僅有一行,不超過500000個字元,表示乙個二叉樹序列。

輸出檔案也只有一行,包含兩個數,依次表示最多和最少有多少個點能夠被染成綠色。

1122002010

5 2dp[i][0]: i節點不為綠色獲得的最大收益

dp[i][1]:i節點為綠色獲得的最大收益

#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define repf( i , a , b ) for ( int i = a ; i <= b ; ++ i )

#define rep( i , n ) for ( int i = 0 ; i < n ; ++ i )

#define clear( a , x ) memset ( a , x , sizeof a )

const int inf=0x3f3f3f3f;

typedef long long ll;

const int maxn=1e5+100;

int l[maxn],r[maxn],sz;

ll dp[maxn][2];//三種顏色的最多的那個1:not 綠 2:綠

char str[maxn];

void dfs(int x)

}void hehe1(int u)

void hehe2(int u)

int main()

return 0;

}

bzoj1864 三色二叉樹

僅有一行,不超過500000個字元,表示乙個二叉樹序列。輸出檔案也只有一行,包含兩個數,依次表示最多和最少有多少個點能夠被染成綠色。1122002010 5 2樹形dp int mx n 3 3 點i的顏色為0 1 2,點i為根的子樹最多有多少個0 1 2 int mn n 3 3 點i的顏色為0 ...

bzoj1864 Zjoi2006 三色二叉樹

傳送門 大力建出樹後大力dp 設f i j 表示以i為根節點,根節點顏色為j是的最優解。每次列舉當前結點節點顏色和兒子顏色,時間複雜度o n 27 uses math var a,b array 0.500005,1.3 of longint c array 0.500005 of longint ...

BZOJ1864 Zjoi2006 三色二叉樹

標籤 樹形dp description input 僅有一行,不超過500000個字元,表示乙個二叉樹序列。output 輸出檔案也只有一行,包含兩個數,依次表示最多和最少有多少個點能夠被染成綠色。sample input 1122002010 sample output 5 2題意 給定一棵二叉樹...