题解:CF1526C1 Potions (Easy Version)
思路 1:
使用动态规划算法,$f_i$ 是表示喝 $i$ 瓶药的最大值。
可以得出:$f_j=\max(f_j,f_{j-1}+a_j)$。
关键代码:
1 | for(int i=1;i<=n;i++) |
时间复杂度:$O(n^2)$。
思路 2:
使用贪心算法+优先队列。
先拼劲全力去喝,如果在这道题中喝药喝死了,我们就要将他把药吐出来。
关键代码:
1 | for(int i=1;i<=n;i++){ |
时间复杂度:$O(n \log_2 n)$。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 heyZzz's OI Blog!