poj1062解題報告

2021-06-28 22:50:42 字數 644 閱讀 1121

題意:就是乙個搜尋,但是是一顆樹的搜尋,在這裡要以最方便的資料結構存放,以前每台做過這種樹的題,也不會構造,現在給予自己的理解,也算可以自己做出來了。。

思路:我是用dfs做的,思路比較簡單,但是多了乙個要求,等級!!但是只要認真分析就沒事的。。

注意:1.酋長的等級不是最高的

2.探險家與地等級的交易,如果超過m,則高等級的不會與他再次交易,反過來也是,所以一定要記錄探險家max_level和min_level;這樣才可以成功的理解;;

附上我的ac**::

#includeint price[110];

int level[110];

int bian[110][110];

int cun[110][110];

int m,n;

int ma(int x,int y)

int mi(int x,int y)

void put()

}}int nowlevel;

int min=0x7fffffff;

void dfs( int x,int sum,int mil,int mal )

{ if(mal-mil>m||sum>=min)

return ;

if(x==1)

{if(sum

poj1062解題報告(Dijskstra)

題目大意 中文題,不多解釋。解題思路 dijkstra,結點就是物品的編號,邊權就是優惠之後的 但需要注意的是還有個等級限制,我用的大牛的思路,即列舉等級區間,假如這個酋長的等級為5,而交易等級限制為2,則需要列舉的區間為 3,4,5 4,5,6 5,6,7 分別再找出整個圖中符合區間段的子圖,在子...

poj 1062 昂貴的聘禮 解題報告

這一題只要想到如何建圖,就不太難解決了。假設對於編號為 i 的物品,如果它得到物品 j 後 從 pricei 降低到 pricej 的話,就用乙個cost i j pricej。也就是從物品 i 到物品 j 連一條有向邊。每乙個編號的物品都這樣處理,然後套用dijk 演算法,求出從每個點出發的最短路...

poj 1062 昂貴的聘禮

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