股票交易题解
大致思路:
这道题一眼动态规划,我们来设一个状态,设 d p i , j dp_{i,j} dpi,j 为前 i i i 天拥有股票数量 j j j 的最大收益,而状态转移方程需要分类讨论。
-
一直单纯买,那么转移方程很明显,一开始我们会将所有数据初始为极小的数,为 d p i , j = j × a p i dp_{i,j} = j × ap_i dpi,j=j×api。
-
不买也不卖,那么状态转移方程由上面方法转移而来,非常明显,与前一天中找收益大的,转移方程为 d p i , j = max ( d p i , j , d p i − 1 , j ) dp_{i,j} = \max(dp_{i,j},dp_{i - 1,j}) dpi,j=max(dpi,j,dpi−1,j)。
-
在上面两种方法的情况下买股票,这个转移方程稍微复杂一些,由于每次买卖之间需要相隔 w w w 天,也就是上一次进行是在第 i − w − 1 i - w - 1 i−w−1 天,我们假设第 i − w − 1 i - w - 1 i−w−1 天拥有 k k k 张股票,而 k k k 一定比 j j j 小,因为股票买的要尽可能多,所以,但又不能太多,限制最多 a s as