lester大神后院里种了n棵樱花树,每棵都有美学值Ci。lester大神在每天上学前都会来赏花。lester大神可是生物学霸,他懂得如何欣赏樱花:一种樱花树看一遍过,一种樱花树最多看Pi遍,一种樱花树可以看无数遍。但是看每棵樱花树都有一定的时间Ti。lester大神离去上学的时间只剩下一小会儿了。求解看哪几棵樱花树能使美学值最高且lester大神能准时(或提早)去上学 输入输出格式 输入格式 第1行三个数:现在时间Ts(几点:几分),去上学的时间Te(几点:几分),Te-Ts<=200分。lester大神院子里有几棵樱花树n(1<=n<=30) 第2行~第n+1行每行三个数:看完第i棵树的耗费时间Ti(0<=Ti<=30),第i棵树的美学值Ci(0<=Ci<=100),看第i棵树的次数Pi(Pi=0表示无数次,Pi是其他数字表示最多可看的次数Pi,0<=Pi<=100) 输出格式 只有一个整数,表示最大美学值
时间: 2024-04-02 22:32:01 浏览: 80
这是一个经典的背包问题,可以用0-1背包或完全背包来解决。
我们可以把每棵樱花树看作一个物品,Ti作为物品的重量,Ci作为物品的价值,然后用背包问题的思路来求解。
不同之处在于,每种物品的数量是不确定的。对于无数次可看的物品,我们可以把它看作数量为无穷大的物品,用完全背包来解决;对于最多可看Pi次的物品,我们可以把它看作数量为Pi的物品,用0-1背包来解决。
具体实现时,可以先把可无限次观看的物品放入完全背包中,然后再把最多只能观看Pi次的物品放入0-1背包中。
时间复杂度为O(NV),其中N为物品数量,V为背包容量。在本题中,N<=30,V<=200,因此可以通过本题。
阅读全文