poj1062 昂貴的聘禮 spfa

2021-06-28 03:20:46 字數 537 閱讀 3124

思路:因為交易過的所有人等級之差最大不能超過m,所以列舉每乙個寬為m的範圍,其中必須包涵1號節點,遇到範圍之外的點不考慮,分別求最短路即可。

**:

#include #include #include #include #include #include using namespace std;

struct edge

};int n, m;

int level[105];

vectoredges[105];

int dist[105];

int vis[105];

void spfa(int l, int r)

}} vis[cur] = 0; }}

int main()

} int ans = 0x3f3f3f3f;

for (int i = level[1] - m; i <= level[1]; i++)

cout << ans << endl;

} return 0;

}

poj 1062 昂貴的聘禮

這個題是乙個簡單的樹形dp,只是有乙個地位差限制,可以列舉可行區間,在可行區間裡進行dp.include include include include include include include include include include includeusing namespace st...

poj1062 昂貴的聘禮

做這題代價確實很昂貴,從昨天晚上一直到今天上午都在debug,今天上午提交還出現各種wa。比較明顯的最短路,有幾個地方要注意一下,首先建圖有個地方要注意以下,這題是用臨界矩陣儲存的有向圖,而且是由交換品指向購買品,然後將虛節點設為購買品的價值,最後列舉每乙個可能地位區間di求最短路,因為對於區間 c...

昂貴的聘禮(POJ1062)

這個玩了好久啊,是我第一次寫出這樣的最短路徑。還是參考了其它人的才出來,注意的有 1 是單向圖,2 把不滿足權值的提前全初始化。其實不用topo排序也可的。關鍵 void dfs int k include include include include include include includ...