從n個數中刪除m個數

2021-09-02 22:08:11 字數 374 閱讀 4250

補題:

題目大意是:有個很大的整數n,刪除其中的m位數字,使得剩下的數字按原來的次序組成的數最大。

#include #include #include #include #include #include #include #define ll long long

#define inf 0x3f3f3f3f

using namespace std;

//n個數字去掉m個 說明我們要在整個區間裡找n-m次個相對來說大的數字

//貪心,區域性優,換取全域性優

int main()

} cout<}

cout<} return 0;

}

從N個數中等概率列印M個數

題目 給定乙個長度為n且 沒有重複元素 的陣列array和乙個整數m,實現函式等概論隨機列印array中的m個數。要求 1.相同的數不要重複列印 2.時間複雜度為o m 額外空間複雜度為o 1 3.可以改變array陣列 解題思路 解法的關鍵點是利用要求3改變陣列array。列印過程如下 1.在 0...

從N個數中等概率列印M個數

題目 給定乙個長度為n且沒有重複元素的陣列arr和乙個整數n,實現函式等概率隨機列印arr中的m個數。要求 相同的數不要重複列印 時間複雜度為o m o m o m 額外空間複雜度為o 1 o 1 o 1 可以改變arr陣列。不考慮額外空間複雜度為o 1 o 1 o 1 的限制,建立乙個狀態陣列或者...

從m個數中選擇n個數的實現

從m個數中選出n個數來 0 n m 要求n個數之間不能有重複,其和等於乙個定值k。求一段程式,羅列所有的可能。例如備選的數字是 11,18,12,1,2,20,8,10,7,6 和k等於 18 那麼組合的可能有 18 8,10 2,20 12,6 11,7 11,1,6 1,10,7 12,2,8 ...