討論串[問題]n位整數拿掉m數字得到最大數值
共 5 篇文章
內容預覽:
嗯, 我看了一下.. Range Minimum Query (RMQ) 似乎不太對啊.. 舉個簡單的例子好了(有人已經點出來了). 2-3-4-5-1-1, remove 2 digits. RMQ 應該會得到 2-3-4-5,. 但這題的最佳解應該是 4-5-1-1.. (希望我沒有誤解你的意思
(還有353個字)
內容預覽:
說明一下, 這裡的 RMQ 是指Maximum.. 以 A=[2,3,4,5,1,1] 為例,六個數字去掉兩個等於保留四個,. 這四位數的最高位數字 一定是來自 A 的前 6-4+1=3 項,. 就是在子陣列[2,3,4]裡找出最大的那個數,也就是 4。. 找到第一個數之後就問題就縮小了,變成"從
(還有402個字)
內容預覽:
Leon 的作法和我的應該是一樣的,. 假如現在的字串是. a_0 a_1 a_2 ... a_n. 而我們只打算刪掉一個數字,. 那我們刪的一定是第一個 a_i , s.t. a_i < a_{i + 1}. 如果不存在這樣的 i ,那我們就刪 a_n. 如果我們要刪掉兩個數字,可能很容易的證明.
(還有583個字)
內容預覽:
從最高位往個位掃. 當目前數字 < 下一個. 則捨棄目前數字. 若下一個沒有數字了. 也捨棄目前數字. 虛擬碼. int f (int input, int m){. LinkedList l;. //雙向linked list l. //從頭到尾是高位到低位digit. if(m >= l.siz
(還有487個字)