《愛與愁的故事第四彈·plant》第一章。
愛與愁大神後院裡種了 nn 棵櫻花樹,每棵都有美學值 c_ici。愛與愁大神在每天上學前都會來賞花。愛與愁大神可是生物學霸,他懂得如何欣賞櫻花:一種櫻花樹看一遍過,一種櫻花樹最多看 a_iai遍,一種櫻花樹可以看無數遍。但是看每棵櫻花樹都有一定的時間 t_iti。愛與愁大神離去上學的時間只剩下一小會兒了。求解看哪幾棵櫻花樹能使美學值最高且愛與愁大神能準時(或提早)去上學。
共 n+1n+1行:
第 11 行:現在時間 t_sts(幾時:幾分),去上學的時間 t_ete(幾時:幾分),愛與愁大神院子裡有幾棵櫻花樹 nn。這裡的 t_sts,t_ete格式為:hh:mm
,其中 0 \leq hh \leq 230≤hh≤23,0 \leq mm \leq 590≤mm≤59,且 hh,mm,nhh,mm,n 均為正整數。
第 22 行到第 n+1n+1 行,每行三個正整數:看完第 ii 棵樹的耗費時間 t_iti,第 ii 棵樹的美學值 c_ici,看第 ii 棵樹的次數 p_ipi(p_i=0pi=0 表示無數次,p_ipi是其他數字表示最多可看的次數 p_ipi)。
只有乙個整數,表示最大美學值。
#includeusingnamespace
std;
const
int maxn=1e6+100
;int
n;int
dp[maxn];
inta[maxn];
intb[maxn];
intc[maxn];
int w[maxn];//
表示 int v[maxn];//
表示拆分後背包的容量
intmain ()
int tot=0
;
for (int i=1;i<=n;i++) }}
for (int i=1;i<=tot;i++)
for (int j=v;j>=w[i];j--)
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
printf(
"%d\n
",dp[v]);
}
P1833 櫻花 混合揹包 二進位制優化板子
思路 首先比較容易想到是取和不取的揹包問題,其次發現裡面有完全揹包和多重揹包。所以樸素的做法就是當前物品是多重揹包時候,用多重揹包的解法,當前揹包是完全揹包時候,用完全揹包的解法。這樣會t兩個點。當然你開o2可以過,但是沒必要。include include include include incl...
混合揹包 洛谷P1833 櫻花
愛與愁大神後院裡種了n棵櫻花樹,每棵都有美學值ci。愛與愁大神在每天上學前都會來賞花。愛與愁大神可是生物學霸,他懂得如何欣賞櫻花 一種櫻花樹看一遍過,一種櫻花樹最多看ai遍,一種櫻花樹可以看無數遍。但是看每棵櫻花樹都有一定的時間ti。愛與愁大神離去上學的時間只剩下一小會兒了。求解看哪幾棵櫻花樹能使美...
P1833 櫻花 揹包DP 多重揹包 , 混合揹包
混合揹包是指很多種揹包一起做。此題屬於多重揹包的模板題 思想是統統轉化為01揹包 題目中有01揹包 p 1 完全揹包 p 0 多重哦揹包 p k 完全揹包,只需將p t w 多重揹包,只需進行二進位制拆分 注意陣列開大 int readint while ch 0 ch 9 return x f l...