明天好像要考鍊錶今晚筆者來了解下。
題目鏈結
解:
對於這道題,由於前面要與後面重新連起來,於是我們考慮鍊錶。
我們先正常用鍊錶維護關係。然後,我們從大到小列舉。
對於這個數,如果它後面有數(因為是一對一起進入),就把它們壓入佇列(輸出即可)
這樣就利用鍊錶完成了乙個貪心的過程。
code:
#include#include#include
using
namespace
std;
int head[500000],next[500000
];int n,a[500000
];int
main()
for(int i=n;i>=1;--i)
}return0;
}
題解 P5462 X龍珠
賽題 b p5462x龍珠 滿分 100分 發乙個set做法 維護兩個set,乙個按照順序排序,乙個按照值排序。每次從大往小取,問題就變成了判斷這個最大值後面是否有數,直接檢視一下按照順序排序的該數是否有後繼。編譯記得用c 11,請安心食用。為了方便理解,按照順序排序的set寫得不夠優美 winle...
Luogu P5462 X龍珠 貪心
題目鏈結 首先題目要求字典序最大,則顯然我們應該將大的數安排在前端。那麼現在來處理取相鄰數的問題,我們可以使用並查集維護 每個位置往後最近的未被取走的數的位置,下文用 fa i 表示。當乙個數 假定位置為 i 被取走時,將 fa i fa 查詢時直接取出即可。另外,當要取的數是最後乙個時,後面沒數,...
洛谷 P5462 X龍珠
鏈結 x龍珠 是一款益智小遊戲。遊戲中有 n 2 n n 2 n 個編號互不相同龍珠按照給定的順序排成乙個佇列,每個龍珠上面都有乙個編號。每次操作時,選擇並取出龍珠佇列中相鄰的兩個龍珠,放到目標佇列的末尾 目標佇列最開始是空的,且這兩個龍珠的前後順序不變 然後去除原龍珠佇列的空隙。反覆多次,直到原龍...