做這題代價確實很昂貴,從昨天晚上一直到今天上午都在debug,今天上午提交還出現各種wa。。。比較明顯的最短路,有幾個地方要注意一下,首先建圖有個地方要注意以下,這題是用臨界矩陣儲存的有向圖,而且是由交換品指向購買品,然後將虛節點設為購買品的價值,最後列舉每乙個可能地位區間di求最短路,因為對於區間
[check[i]-di, di+check[1]]可能會相距2*di個地位差,這明顯不符合題意,所以需要列舉每乙個地位區間,此題用spfa0ms,dij16ms
#include
#include
using namespace std;
const int eps = 1000000;
const int size = 300;
int maze[size][size];
int n, m;
int dist[size];
int que[100*size];
bool visited[size];
int check[size];
int di;
void spfa(int s, int ed)
}
}int rear, front;
rear = 1, front = 0;
que[front] = s;
dist[s] = 0;
visited[s] = true;
while (front < rear) }}
}}void dij(int v, int ed)
}
}for (i = 0; i <= n; i ++)
visited[0] = true;
ff = 0;
while (1)}}
visited[ff] = true;
if (ff == 1)break;
for(j = 0;j <= n; j ++)}}
}int main()}}
int minn = int_max;
for (int i = check[1]-di; i<= check[1]; i ++)
}printf("%d\n", minn);
}return 0;
}
poj 1062 昂貴的聘禮
這個題是乙個簡單的樹形dp,只是有乙個地位差限制,可以列舉可行區間,在可行區間裡進行dp.include include include include include include include include include include includeusing namespace st...
昂貴的聘禮(POJ1062)
這個玩了好久啊,是我第一次寫出這樣的最短路徑。還是參考了其它人的才出來,注意的有 1 是單向圖,2 把不滿足權值的提前全初始化。其實不用topo排序也可的。關鍵 void dfs int k include include include include include include includ...
POJ 1062 昂貴的聘禮
昂貴的聘禮 time limit 1000ms memory limit 10000k total submissions 31474 accepted 8891 description 年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作...