原題鏈結
考察:貪心+模擬
錯誤思路:
預處理一遍>0的最小的數字和它在序列裡出現的次數.在從頭到尾遍歷,討論0與s[i]與minv的大小關係.用deque模擬
這樣想其實沒錯,但是要討論很多限制條件,看了別人的題解思路簡單又快速...
正確思路:
從右往左找,找到除0外最小的數字,它右邊的直接按順序放在後面,在它前面的要與當前隊頭比較再放入,最後把這個數字放在隊頭.
注意:不能從左往右找,因為出現次數不止一次.按我的**,後面出現的最小數字就只能按順序放了.
1 #include 2 #include 3 #include 4 #include 5 #include 6using
namespace
std;
7 typedef pairpii;
8const
int n = 110;9
char
s[n];
10int
len;
11 pii check(int l,int
r)12
19 pii p; p.first = minv,p.second =pos;
20return
p;21}22
intmain()
2340
if(pos) d.push_front(minv);
41for(int i=pos+1;i'0'
);42
for(auto it:d) printf("%d"
,it);
43 printf("\n"
);44}45
return0;
46 }
hdu 4550 貪心 思維題 不錯
想了挺久,然後各種分類 終於ac,如果是現場,對自己沒信心的話,估計還是要wa,然後搜題解,發現人家都認為是簡單題,看來我還是太弱了,牡丹江沒有做出來k看來還是自己貪心和思維有問題 d是乙個deque 最樸素的演算法是,如果當前的數 d.front 那麼插入佇列的前面,否則插入佇列後面,但是有零所以...
hdu 卡片遊戲
problem description 小明最近宅在家裡無聊,於是他發明了一種有趣的遊戲,遊戲道具是n張疊在一起的卡片,每張卡片上都有乙個數字,數字的範圍是0 9,遊戲規則如下 首先取最上方的卡片放到桌子上,然後每次取最上方的卡片,放到桌子上已有卡片序列的最右邊或者最左邊。當n張卡片全部都放到桌子上...
905 卡片遊戲
時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 小明最近宅在家裡無聊,於是他發明了一種有趣的遊戲,遊戲道具是n張疊在一起的卡片,每張卡片上都有乙個數字,數字的範圍是0 9,遊戲規則如下 首先取最上方的卡片放到桌子上,然後每次取最上方的卡片,放到桌子上已有卡片序列的最右邊或者最...