xsy1378 水題7號 貪心

2022-05-03 19:00:08 字數 841 閱讀 1971

題目大意:有$m$組約束關係$(x_i,y_i)$,你要構造乙個排列,滿足數$x_i$出現在數$y_i$前面,請使得這個排列字典序最小,請輸出這個排列。無解請輸出-1。

資料範圍:$n,m≤10^5$

我們把約束關係$(x_i,y_i)$視作從$y_i$連向$x_i$的有向邊,於是我們得到了乙個有向圖,無解情況下該圖會存在環。

我們對這個有向圖進行拓撲排序即可,只不過每次出隊的點是當前佇列中編號最大的點。

我們開乙個陣列$ans$,記$ans_i$表示第i次出隊的點的編號。

若原圖中存在環,顯然$|ans|≠n$,我們可以通過該性質判斷是否有解。

否則倒著輸出$ans$陣列即可。

關於正確性可以這麼理解:當第$x$個點出隊時,所有依賴於該點的點都出隊了,且當前編號大於它的點都出隊了。

1 #include2

#define m 100005

3using

namespace

std;

45 vectorv[m];

6int n,m,vis[m]=;

7int ans[m]=,in[m]=,cnt=0

;8 priority_queueq;

9int

main()

18for(int i=1;i<=n;i++) if(in[i]==0

) q.push(i);

19while(!q.empty())28}

29if(n!=cnt)

33for(int i=n;i;i--) printf("

%d "

,ans[i]);34}

35int

main()

議會介紹1 (37)

1.一會基本屬於實名,異質性全寫,他頭腦簡單,一邊暗示但不接受某些暗示。其可變觀念和不可摧毀的牢固信念,普遍拖延的原因。2.代表團團長的作用及氣場的 他們是議會的真正主人。所以表決結果只是一小部分人投票的結果,他們的統治權他們眼瞼的要素,措辭和形象,總體來說,團長必須愚蠢。必須有執念,如果沒有氣場,...

137,單例模式

tools.h import inte ce tools nsobject 類方法 單例格式 share 類名或default 類名 instancetype sharetools end tools.m import tools.h implementationtools instancetype...

XSY 3327 思維 跑步

題意 給你乙個nn的網格。初始時,每個網格有乙個非負權值。有n次操作。每次操作會將乙個網格的權值加1或減1。權值操作後仍非負 輸出當前每個網格到11的最長路 每步向上或向左 的總和。n 2000 n leqslant 2000 n 2000 解法 這是一道好題!我太菜了,做不出。我們考慮維護dp值。...