#include#include#include#include#include#include#includeusing namespace std;
/* 動態規劃:利用子問題求解整個問題
關鍵:記錄子問題的解
列出狀態轉移方程
寫法:遞推:由邊界向上,最終得到目標問題的解
遞迴:由目標問題出發,向下遞迴,分解為重疊子問題(例如求斐波那契數列方法:)
分治:分解為不相交的子問題(如快排劃分)
動態規劃:問題有交集
貪心:每次選擇乙個子問題求解
動態規劃:根據寫法而定
階段:i 狀態:dp[i]
關鍵:由問題分析得到狀態和狀態轉移方程(狀態遞推),要是無後效性的,就是當前狀態只和前乙個狀態有關
eg:最長子列和
dp[i]:以第i個為終點滿足的最大子列和
dp[i+1]=max//
*/int main()
動態規劃 dp
威威貓系列故事 打地鼠 威威貓最近不務正業,每天沉迷於遊戲 打地鼠 每當朋友們勸他別太著迷遊戲,應該好好工作的時候,他總是說,我是威威貓,貓打老鼠就是我的工作!無話可說.我們知道,打地鼠是一款經典小遊戲,規則很簡單 每隔乙個時間段就會從地下冒出乙隻或多隻地鼠,玩遊戲的人要做的就是打地鼠。假設 1 每...
動態規劃,dp
線性動規區間動規樹形動規 區間動規 根據題目要求,全域性最優滿足區域性最優 典型題例 加分二叉樹 洛谷1040 題目介紹 題目描述 設乙個n 個節點的二叉樹t 的中序遍歷為 1,2,3,n 其中數字 1,2,3,n 為節點編號。每個節點都有乙個分數 均為正整數 記第j 個節點的分數為dj。二叉樹t ...
動態規劃(DP)
有n個重量和價值分別為wi和vi的物品。從這些物品中挑選出總質量不超過w的物品,求所有挑選方案中質量和的最大值。如果我去模擬一下這個問題 每個物品都可以選擇或不選擇。假設我從第i個物品挑選總重量小於j的物品 int rec int i,int j rec i 1,j 表示不選擇第i個物品 rec i...