這個一道最短路題;這裡難處理的就是等級只差的問題;這裡我們就用列舉法;假設等級只差為l=3;酋長的等級為5,這裡就只存在這幾種情況2-5,3-6,4-7,5-8;我們只要處理這幾種情況就可以了;至於建圖就直接用錢數就可以了;
view code
#include#includeusing
namespace
std;
const
int inf = 0x7fffffff
;int level[124],map[124][124],l,n,dis[124],hash[124
];void
empty( )
}int
dij()
hash[
0] = 1
;
for( int j = 1; j <= n ; j ++ )//
迪傑斯特拉
}hash[t] = 1
;
for( int k = 1 ; k <= n ; k ++)}}
if( ans > dis[1] ) ans = dis[1
]; }
return
ans;
}int
main( )
}printf(
"%d\n
",dij() );
}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...