刪數問題 sdut oj

2021-10-09 15:06:04 字數 575 閱讀 3407

description

鍵盤輸入乙個高精度的正整數n(≤100位),去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組成的新數最小。

input

輸入兩個數字,分別為原始數n,要去掉的數字數s (s < n)。

output

輸出去掉s個數後最小的數

sample

input

178543 4

output

思路:

本來一開始想的是用貪心, 每次找到其中最大的數字, 刪掉, 但是這樣就將問題想的片面了.

貪心的含義是每次都尋找區域性最優解, 從而可能得到全域性最優解.

本題中的要求是去掉n個數字, 因此區域性最優解就是去掉乙個數字後剩下的組合起來最小.

作為整數, 越高位的數字越小, 整體就越小.

比如1 2 3 2 5

其中最大的數字是5, 如果將5去掉的話, 將是 1 2 3 2

但是如果將3 去掉的話, 將是 1 2 2 5

很顯然, 應當去掉高位上的極值, 而不是所有數字中的最大值.

刪數問題 sdut oj

time limit 1000ms memory limit 65536kb problem description 鍵盤輸入乙個高精度的正整數n 100位 去掉其中任意s個數字後剩下的數字按照原來的左右次序組成乙個新的正整數。程式設計對給定的n與s,尋找一種方案,使得剩下的數字組成的新數最小。in...

刪數問題(貪心)

time limit 1000ms memory limit 65536k 有疑問?點這裡 給定n 位 n 100 正整數a,去掉其中任意k n 個數字後,剩下的數字按原次序排列組成乙個新的正整數。對於給定的n 位正整數a和正整數k,設計乙個演算法找出剩下數字組成的新數最小的刪數方案。對於給定的正整...

貪心 刪數問題

題目描述 鍵盤輸入乙個高精度的正整數n 240位 去掉其中任意s個數字後剩下的數字按原左右次序將組成乙個新的正整數。程式設計對給定的n和s,尋找一種方案,使得剩下的數字組成的新數最小。n s 最後剩下的最小數 樣例輸入 178543 4樣例輸出13 這題貪心是要找乙個單調增的數,即保證較小數總在高位...