题解

2 条题解

  • 1
    @ 2014-11-02 15:47:32

    对于这个题目, 因为要离散化, 所以有些c++选手会使用stl, 这会让程序变得非常慢. 希望慎用.

  • 1
    @ 2014-11-02 14:16:10
    • @ 2014-11-08 00:37:41

      我们发现永远不可能在交换后钱变少了,于是我们可以把所有操作按照V的大小 升序排列。如果我们要执行这一交换,必然是为了得到Vi的钱,而我们只能从\(R_i\)~\(V_{i-1}\)转移得到。用动态规划实现,F(i)表示得到i元钱需要的最少时间。最后我们只需要先离散,然后用线段树维护区间最值即可,时间复杂度O(NlogN)。

  • 1

信息

ID
1901
难度
8
分类
(无)
标签
(无)
递交数
512
已通过
47
通过率
9%
被复制
3
上传者