連結:https://zerojudge.tw/ShowProblem?problemid=d512
題意:給你N個數字,問你任取幾個數字出來做加總,有多少不同數字。
這題乍看是DP,可是最大數字到2^31-1,這時可以用c++的STL,set來解決。set的實作是紅黑樹,尋找插入刪除複雜度皆O(logN),這題方法就是依序和set裡的每一個數字加起來,如果還沒出現就插入set裡,注意這題要從後面做,因為set是從小排到大,從前面找會加到重複的。
1 |
|
如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)