题意:有n个点,有一个初始值p=w,要从一号点按顺序走到n号点,每个点有两个值:op、a,若op=1,则可收获pa的价值,但要使p=b(0=<b<1);若op=2,则可花费pa的代价将p=c(1<c<=2),求最大收益。
n<=1e5
题解:
考场思路:考虑DP,我们关心的状态为走到哪个点,当前的p为多少,而p用选择1、2的次数表示比较方便,故列出三维的DP,但这要O(N^3)。
考虑如何将选择1、2的次数压掉,发现正向做,每一次选择都会影响后面所有的点,这样记录很浪费。既然会影响后面所有的点,那么若从后往前做,每次选择都将当前的值×b或c,这样就只需记录一维了,效率O(N).
ssoj4027: 挖煤(coal)
最新推荐文章于 2020-04-06 23:44:40 发布