這題說實在話就是模版題,可是你要是不知道模版是怎麼工作的,有模版也沒用,這個題就是個例子。
所以說這個題給了我個教訓就是:有了模版也得自己敲,要不然關鍵時刻是不管用的。
這個題的關鍵在於:
1、虛擬乙個節點0,所有物品的價值被表示為這個點到對應物品編號點的邊的權值。
2、相關聯的物品連一條權為***格的邊。
3、求節點0與節點1之間的最短路就行了。
要注意的的是:
1、酋長不一定是最高端,所以控制交易等級範圍時不一定酋長是等級上界,需要對等級範圍進行列舉。
2、交易等級範圍就是等級差的大小,因為間接交易超過等級差也不行。
下面是**:
#include const int v=105;
const int e=10005;
struct node
wu[v];
struct node1
edge[e];
int m,l,r,dis[v],vis[v];
void bellmam_ford(int n)
}if(!flat)
}}int main()
}printf("%d\n",min1);
}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...