原文:一類有依賴的樹形背包dp方法

失蹤人口回歸系列 這個標題是不是看起來很厲害呢 給一道例題:有一個樹,每一個節點代表一個物品,每個物品有重量和價值,每個物品必須先選父親才能選自己。求給定重量內最大價值。 這題的思路十分的厲害。我們把樹的dfs序建出來,對於dfs序上每一個點,我們考慮如果自己選那么自己子樹內就可以選,否則只有在這棵子樹外面才可以選。 那么我們記f i j 為dfs序中第i個點及以后的dfs序大小為j的聯通塊的最大 ...

2016-05-28 15:01 3 3566 推薦指數:

查看詳情

樹形依賴背包的優化方法

樹形依賴背包問題 每個點有個權值和體積,如果選了某個點那么它的父親也必須選,問體積和<=m的最大權值和。 如果體積都為1,那么直接做是$n^2$的。 否則是$nm^2$的。 我們考慮求出樹的后序遍歷,那么對於$i$這棵子樹,它在后序遍歷上是連續一段,並且$i$在最后。 考慮$i$選 ...

Mon Mar 05 02:51:00 CST 2018 5 1035
【bzoj4987】Tree 樹形背包dp

題目描述 從前有棵樹。 找出K個點A1,A2,…,Ak。 使得∑dis(AiAi+1),(1<=i<=K-1)最小。 輸入 第一行兩個正整數n,k,表示數的 ...

Wed Sep 20 16:08:00 CST 2017 3 786
HDU 1561 The more, The Better[樹形dp/01背包]

The more, The Better 時限:2000ms Problem Description ACboy很喜歡玩一種戰略游戲,在一個地圖上,有N座城堡,每座城堡都有一定的寶物, ...

Fri Jul 28 18:58:00 CST 2017 10 80
[noip科普]關於LIS和一類可以用樹狀數組優化的DP

預備知識     DP(Dynamic Programming):一種以無后效性的狀態轉移為基礎的算法,我們可以將其不嚴謹地先理解為遞推。例如斐波那契數列的遞推求法可以不嚴謹地認為是DP。當然DP的狀態也可以是二維/三維的,某一維的含義也不僅僅是指某個數列的第幾項。     樹狀數組 ...

Sun Dec 18 12:57:00 CST 2016 1 1835
Slope Trick:解決一類凸代價函數DP優化

【前言】 在補Codeforce的DP時遇到一個比較新穎的題,然后在知乎上剛好 hycc 桑也寫了這道題的相關題解,這里是作為學習並引用博客的部分內容 這道題追根溯源發現2016年這個算法已經在APIO2016煙花表演與Codeforces 713C引入,自那之后似乎便銷聲匿跡了。相關 ...

Wed Aug 25 01:00:00 CST 2021 0 98
dp背包總結篇

,都看背包九講...... dp之01背包 01背包,做為背包中最基礎的一類背包,必須要掌握好,當然我 ...

Sun Aug 04 01:35:00 CST 2013 2 6980
背包dp整理

01背包 動態規划是一種高效的算法。在數學和計算機科學中,是一種將復雜問題的分成多個簡單的小問題思想 ---- 分而治之。因此我們使用動態規划的時候,原問題必須是重疊的子問題。運用動態規划設計的算法比一般朴素算法高效很多,因為動態規划不會重復計算已經計算過的子問題。因為動態規划又可以稱為 ...

Tue Nov 08 17:54:00 CST 2016 0 1418
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM