hiahiahia我又回來了!!傳送
題意:
理解題意很重要嗯
給定幾個標籤球的重量大小關係,求每個球是第幾重的(即每個球在所有球的重量中由小到大排名是多少)。也可以認為是重量嘛,就是第1號位置的球重4一類的。
如果存在多種可行解,就按編號小得重量盡量小輸出
↑↑↑重點
思路:
拓撲。
但是 逆序的!!
why?
因為正序的你不能確定,讓編號小的重量盡量小。
但是你把編號大的重量也弄大,那麼小的一定就越小啦!!
【哀家】要回家啦。。
不知道解釋清楚沒有。。
實在不行看**吧!!
#include
#include
#include
#include
using
namespace
std;
intmap[260][260];
int cnt[260];
int vis[260];
int w[260];
int n,m;
int jy;
int main()
}for(int i=n;i>=1;i--) //重量從大到小排 。
}break; }}
if(jy == 1)break;
}if(jy == 1)
else
else}}
}}
POJ 3687 逆向拓撲排序
題意 n個球,m個關係,a b 代表 a 比 b 輕,按編號1 n輸出每個球是第幾大,要使得編號小的球排名盡量小.例如 5 6 1 4 3 2 1號球可以是第3,4,5,6重 這裡要選第三重,那麼二號球就只能是最重的乙個了,即6.輸出答案為 3 6 5 4 1 2 思路 反向建立拓撲排序,則以重的球...
POJ 3687 逆向拓撲排序
以小球為模型,實際上就是找滿足條件的最小字典序 比如 我們有這樣一組資料 1 4 24 1 3 2意思就是1組測試樣例,4代表乙個序列,1,2,3,4 我們要做的就是調整下次序,使它滿足兩個條件。處於4號位的數字要比處於1號位的數字要小,處於3號位的數字要比處在2號位的數字小。我們隨便一想,就有兩組...
poj 3687 反向拓撲尋求字典序最小解
看題意可得,這道題很明顯是反向拓撲排序求解的問題,只不過反向拓撲排序求的是標籤的順序,之後還有把每個標籤所對應的質量聯絡起來就好。include include include include include includeusing namespace std const int maxn 210...