選點 巧妙的dfs序dp

2021-10-10 08:11:30 字數 506 閱讀 8565

傳送門

注意一下這兩句話

如果選了根節點的話,在這棵子樹內選的其他的點都要比根節點的值大;

如果在左子樹選了乙個點,在右子樹中選的其他點要比它小。

根節點比子節點都要小

右子樹比左子樹都要大

所以可以跑dfs

dfsdf

s序維護最長上公升子串行來寫

#include

using

namespace std;

const

int maxn =

2e5+10;

int n,l[maxn]

,r[maxn]

,a[maxn]

,id,top,w[maxn]

,ans[maxn]

;void

dfs(

int u)

intmain()

} cout << top;

}

牛客練習賽39 B 選點 dfs序 LIS

選點 時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 有一棵n個節點的二叉樹,1為根節點,每個節點有乙個值wi。現在要選出盡量多的點。對於任意一棵子樹,都要滿足 如果選了根節點的話,在這棵子樹內選的其他的點都要比...

JSOI2016 最佳團體 DFS序 樹形DP

洛谷 p4322 jsoi2016 最佳團體 description 茜茜的舞蹈團隊一共有 n 名候選人,這些候選人從 1 到 n 編號。方便起見,茜茜的編號是 0 號。每個候選人都由一位編號比他小的候選人 r i 推薦。如果 r i 0 則說明這個候選人是茜茜自己看上的。為了保證團隊的和諧,茜茜需...

DFS序與尤拉序的區別

dfs序 是指將一棵樹被dfs時所經過的節點順序 不繞回原點 尤拉序 就是從根結點出發,按dfs的順序在繞回原點所經過所有點的順序。通過dfs序判斷v節點的時間區間是否在u節點的時間區間內。通過尤拉序求u和v的最近公共祖先。dfs序 a b d e g c f h 尤拉序 a b d d e g g...