補題:
題目大意是:有個很大的整數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 ...