首頁| 新聞| 娛樂| 游戲| 科普| 文學| 編程| 系統| 數據庫| 建站| 學院| 產品| 網管| 維修| 辦公| 熱點
給定一個N<=1000000個點的基環外向森林,求帶權的最大獨立集。
首先題目中看上去給出的是有向邊但實際上是無向邊,因為v不會和u在一起那么u也不會和v在一起。
這道題一開始我以為只是一棵普通的樹,那這樣直接樹形dp就好了,用f[u][1],f[u][0]表示u點選中或者不選的最大值,不妨設v為u的兒子,那么狀態轉移方程顯然就是:
f[u][0]=∑Max(f[v][1],f[v][0]) f[u][1]=∑f[v][0]
再讀題發現自己傻逼了,題目總共給出了N個點N條邊,顯然形成了一棵基環外向樹,但這樣其實還是很好搞,我們dfs或者bfs找到樹中的環把環的兩頭斷開,顯然兩頭不能同時選因為它們是聯通的,那么我們分別讓其中一個選,另一個不選,或者兩個都不選分別搞一下樹形dp,然后在結果中取最大值就好了。
再打完發現自己又傻逼了,顯然所有騎士并不一定會連在一起,肯定是只有一棵基環外向樹,另外有或沒有很多棵普通的樹。但其實還是一樣搞,在最外層枚舉一下每個點有沒有vis過就好了,然后把每棵樹的貢獻加入ans
斷邊可以直接把邊設為false,但邊是雙向邊而前向星的存法只能一條邊表示一個方向,但(兩級反轉)加邊的時候是兩個方向的邊是同時加入的,所有一條邊的編號是id,另一條邊的編號就是id⊕1,處理起來很方便。
完。
By g1n0st
索泰發布一款GTX 1070 Mini迷
AMD新旗艦顯卡輕松干翻NVIDIA
索泰發布一款GTX 1070 Mini迷你版本:小機
芭蕾舞蹈表演,真實美到極致
下午茶時間,悠然自得的休憩
充斥這繁華奢靡氣息的城市迪拜風景圖片
從山間到田野再到大海美麗的自然風景圖片
肉食主義者的最愛美食烤肉圖片
夏日甜心草莓美食圖片
人逢知己千杯少,喝酒搞笑圖集
搞笑試卷,學生惡搞答題
新聞熱點
疑難解答
圖片精選
Dictionary數據類型在Darwin視頻服
可穿戴手勢識別控制器
網友關注