這提要把我弄崩潰了!
我還是用bellman做的。邏輯上怎麼看都沒錯,尼瑪就是wa。
我一直懷疑擔心的整型問題始終不願相信。
一怒之下直接把所有int換成了__int64。這尼瑪果斷ac了。
這種做法實在是齷蹉。
我想那一定是溢位的原因了,確實,
__int64 t = dis[edges[j].s]+edges[j].w;
這一句如果用int,還真可能溢位。
所以price陣列,和dis陣列還是用__int64。
這道題應該給個明確的上界!
人世間最痛苦的事莫過於wa而不知其因。。。
#include #include #include #include using namespace std;
#define inf 0x7fffffff
struct edge;
int m,n;
edge edges[10000];
int num_edges;
__int64 dis[101];
__int64 price[101];
int rank[101];
void bellman(int r) }}
void process()
} process();
return 0;
}
POJ 1062 昂貴的婚禮(Dijkstra)
description 年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠弄來他的水晶球,...
poj 1062 昂貴的聘禮
這個題是乙個簡單的樹形dp,只是有乙個地位差限制,可以列舉可行區間,在可行區間裡進行dp.include include include include include include include include include include includeusing namespace st...
poj1062 昂貴的聘禮
做這題代價確實很昂貴,從昨天晚上一直到今天上午都在debug,今天上午提交還出現各種wa。比較明顯的最短路,有幾個地方要注意一下,首先建圖有個地方要注意以下,這題是用臨界矩陣儲存的有向圖,而且是由交換品指向購買品,然後將虛節點設為購買品的價值,最後列舉每乙個可能地位區間di求最短路,因為對於區間 c...