卡片遊戲 HDU 4550

2022-06-07 23:45:23 字數 884 閱讀 8536

原題鏈結

考察:貪心+模擬

錯誤思路:

預處理一遍>0的最小的數字和它在序列裡出現的次數.在從頭到尾遍歷,討論0與s[i]與minv的大小關係.用deque模擬

這樣想其實沒錯,但是要討論很多限制條件,看了別人的題解思路簡單又快速...

正確思路:

從右往左找,找到除0外最小的數字,它右邊的直接按順序放在後面,在它前面的要與當前隊頭比較再放入,最後把這個數字放在隊頭.

注意:不能從左往右找,因為出現次數不止一次.按我的**,後面出現的最小數字就只能按順序放了.

1 #include 2 #include 3 #include 4 #include 5 #include 6

using

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,遊戲規則如下 首先取最上方的卡片放到桌子上,然後每次取最上方的卡片,放到桌子上已有卡片序列的最右邊或者最...