昂貴的聘禮 poj 1062 Dijkstra

2021-06-25 20:24:32 字數 956 閱讀 9840

中文題,題意就不多說了,講講思路吧,先根據題意構圖,與普通最短路不同的是這一題加了乙個rank,每個點都有乙個rank,題目要求最短路徑上的點的rank的最大差值在

m範圍內,dijkstra判斷條件時加上rank約束就行了。我沒有新增匯點直接寫的,另貼上別人新增匯點的寫法。

我的**:

#include #include #include #include #include #include #include #include #include #include #include #pragma comment (linker,"/stack:102400000,102400000")

#define maxn 1005

#define maxn 2005

#define mod 1000000009

#define inf 0x3f3f3f3f

#define pi acos(-1.0)

#define eps 1e-6

typedef long long ll;

using namespace std;

int mp[110][110];

int visit[110],dist[110],selfcost[110],rank[110];

int m,n;

int dijkstra(int s,int e)

}int minn=inf;

for (i=1;i<=n;i++)

vis[k]=1;

if(k==1)

return;

for(i=0;i<=n;i++)

if( dengji[i]>=m && dengji[i]<=n && !vis[i] && dis[i]>dis[k]+map[k][i])

}}int main()

}for( i=dengji[1]-m; i<=dengji[1]; i++)

cout<

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...