P1160 佇列安排

2022-06-02 02:42:06 字數 1428 閱讀 8084

題目鏈結

很裸的一道佇列的題

方法一:沒審清題目,

,直接就來寫,笨笨得每次都掃瞄一遍鍊錶導致tle,最後得分40分

1 #include2

using

namespace

std;

3int

n, k, p, m, x;

4struct lb;

9 lb l[100010

];10

int tail=1;//

隊尾計數

11int head=0;//

煉表頭

12int chazhao(int k)

17void print()

21void shuchu()

26void charu(int i, int t, int

p)34

else

37 l[t].last=tail;38}

39if(p==1)

45 l[t].next=tail;46}

47//

print();48}

49void del(int

t)54

else59}

60}61int

main()

6274 cin>>m;

75while(m--)

82shuchu();

83return0;

84 }

方法二:修改之後不再超時,但仍然只有40分,但很還是有細節修改了1天也搞不出來

1 #include2

using

namespace

std;

3int

n, k, p, m, x;

4struct lb;

8 lb l[100100];9

10int head;//

煉表頭

1112

void print()

16void shuchu()

21void charu(int i, int t, int p)

28else

3132 l[t].last=i;33}

34if(p==1)

40 l[t].next=i;41}

42//

print();43}

44void del(int

t)50

51else56}

5758}59

intmain()

6070 cin>>m;

71while(m--)

76shuchu();

77return0;

78 }

上述**麻煩之處在於對鍊表頭和尾的處理和討論,所以還是認真的研究了一下別人的題解:

P1160 佇列安排

乙個學校裡老師要將班上n個同學排成一列,同學被編號為1 n,他採取如下的方法 先將1 11號同學安排進佇列,這時佇列中只有他乙個人 2 n 2 n2 n號同學依次入列,編號為i的同學入列方式為 老師指定編號為i的同學站在編號為1 i 1 1 sim i 1 1 i 1 中某位同學 即之前已經入列的同...

P1160 佇列安排

p1160 佇列安排 昨天下午看了一下,感覺肯定要用vector或者佇列,想著自己用的不怎麼好,就沒寫,然後晚上睡不著的時候想到了這題,突然就想到解題辦法了,要不是太晚了我就起床寫了,今天寫了一遍就ac了,哈哈哈 這題比較好玩吧。定義乙個二維陣列,每個數的左右兩個數分別用第二維的陣列0和1存,進行操...

P1160 佇列安排

乙個學校裡老師要將班上n個同學排成一列,同學被編號為1 n,他採取如下的方法 1.先將1號同學安排進佇列,這時佇列中只有他乙個人 2.2 n號同學依次入列,編號為i的同學入列方式為 老師指定編號為i的同學站在編號為1 i 1中某位同學 即之前已經入列的同學 的左邊或右邊 3.從佇列中去掉m m在所有...