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