雖然轉移方程可以一眼看出
但是煩就煩在為何要排序
有人說這是乙個貪心,又有人說這是乙個保障正確性的。
就按照貪心的想法好了:在保證正確性的情況下盡量多的掛鉤。
#include#define n 2005
#define inf 0x3f3f3f3f
using namespace std;
int n,f[n][n];
struct node
node[n];
inline bool cmp(const node &x,const node &y)
int main()
} int ans=0;
for(int i=0;i<=n;i++) ans=max(ans,f[n][i]);
cout
}
BZOJ 4247 掛飾 揹包DP
貪心的想法 在保證正確性的情況下盡量多的掛鉤。所以我們先把每個掛飾按照掛鉤數量從大到小排序。f i j f i j f i j 表示排序後的前i ii個物品在有j jj個掛鉤的情況下的最大價值之和。那麼對於第i ii個物品,無非就是選擇與否的關係,樸素的轉移。而對於貪心要保證的正確性,我們在狀態轉移...
BZOJ 4247 掛飾 01揹包
joi君有n個裝在手機上的掛飾,編號為1.n。joi君可以將其中的一些裝在手機上。joi君的掛飾有一些與眾不同 其中的一些掛飾附有可以掛其他掛件的掛鉤。每個掛件要麼直接掛在手機上,要麼掛在其他掛件的掛鉤上。直接掛在手機上的掛件最多有1個。此外,每個掛件有乙個安裝時會獲得的喜悅值,用乙個整數來表示。如...
bzoj4247 掛飾 揹包dp
題目描述 joi君有n個裝在手機上的掛飾,編號為1.n。joi君可以將其中的一些裝在手機上。joi君的掛飾有一些與眾不同 其中的一些掛飾附有可以掛其他掛件的掛鉤。每個掛件要麼直接掛在手機上,要麼掛在其他掛件的掛鉤上。直接掛在手機上的掛件最多有1個。此外,每個掛件有乙個安裝時會獲得的喜悅值,用乙個整數...