GDUT 排位賽題解報告 第5場

2021-10-03 18:16:04 字數 721 閱讀 6041

chenjr定義乙個長度為n的完美排列為:對於乙個任意的的i,都有a[i−1]>a[i]a[i+1]

給你乙個正整數n,你需要輸出乙個字典序最小的完美排列。

input

一行輸入乙個正整數n (1≤n≤105)。

output

輸出n個整數,代表答案的排列。

example

inputcopy

1outputcopy

1note

對於兩個整數ai和aj,ai的字典序小於aj,當且僅當|ai|<|aj|。

簡單推理一下:如果1開頭,那肯定是最小的,那麼第二第三位置選什麼:

自然是1 3 2,這樣一定是最小的,四號位要比2大,還要盡量小,就是4

也就是1 3 2 4 ,但是發現下乙個放不了了,於是放5 4,變成1 3 2 5 4…

如此,發現所有的偶數都是放在num+1的位置,而奇數除了1,是放在num-1的位置,然後特判一下結尾的數字容易得出:

scanf

("%d"

,&n)

;printf

("1");

for(

int time=

2;time<=n;time++

)else

printf

(" %d"

,time-1)

;}printf

("\n"

);

GDUT 排位賽題解報告 第5場

chenjr給你乙個長度為n的排列p,你可以交換其中任意相鄰的兩個數。現在你需要用最小的交換次數使得這個排列變成公升序的序列。現在chenjr想知道,對於這個排列p,是否存在唯一的交換方式,使得這個排列變成公升序的序列。input 第一行包含乙個正整數t 1 t 5 104 代表有t組樣例。對於每組...

排位賽題解

十進位制轉二進位制,右移 與 運算結合,遍歷每個數字在二進位制下點每一位。include intmain for int i 0 i 4 i for int i 0 i 4 i a i 1 右移除2 printf d d d d n num 0 num 1 num 2 num 3 return0 題...

2020 2 25GDUT寒假訓練排位賽3 A

農夫約翰的奶牛已經厭倦了他每天早上離開牲口棚前要它們自己整理的要求。奶牛他們剛剛完成了量子物理學博士學位,準備加快速度。今天早上,和往常一樣,農夫john的n頭奶牛 1 n 105 編號為1 n,分散在穀倉的n個不同的位置,也編號為1 n,這樣奶牛i就在pi的位置。但今天上午有m個蟲洞 1 m 10...