POJ 1062 昂貴的聘禮

2021-08-19 08:44:50 字數 694 閱讀 1365

題目鏈結

題解:

可以想象成無源最短路。最開始到達所有點的路程(買物品的**)是它本身的**。然後取出**最小的那個,用它對其他的物品進行鬆弛。

關於這張圖的建立:如果有物品a,物品b會降至c元,那麼就建一條路a—>b=c。

鬆弛操作:if(權值

遍歷所有的等級範圍,求出最小值即為答案。

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

typedef long long ll;

int m,n,t;

int a[105],b[105];

int dis[105],vis[105],mz[105][105];

int dij(int lo,int hi)

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

}return dis[1];

}int main()

}int ans=(int)1e9;

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

printf("%d\n",ans);

}

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