摘要: 题意:有N艘船和N个港口,M个station。现在N艘船分别处在一些station上。有K条边连接站,有P条边连接港口和站。现在这N艘船都要回到港口,且每个港口只能容纳一艘船。问使这N艘船回到港口行程之和的最小值是多少。比较明显的求最小权匹配,用KM。做最短路的时候要注意如果船已经回到港口了,就不能再跑出去了,所以做floyd闭包或其他最短路的时候,松弛的时候不能用港口去松弛一个点对。然后得到各个船所在位置到各个港口的最短路后,把边权赋成负的船到港口的最短路值,然后跑KM就可以了。 1 #include 2 #include 3 #include 4 #include 5 #... 阅读全文
posted @ 2013-11-05 19:40 浙西贫农 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 裸的KM吧。 1 #include 2 #include 3 #include 4 #include 5 #define maxn 105 6 #define INF 1 G[maxn]; 11 int W[maxn][maxn],n; 12 int Lx[maxn],Ly[maxn]; 13 int left[maxn]; 14 bool S[maxn],T[maxn]; 15 16 void init(int n) 17 { 18 this->n = n; 19 for(int i = 0... 阅读全文
posted @ 2013-11-05 14:49 浙西贫农 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 敲完此题我在想,或许我的智商不适合再搞下去了。。题意:有一组OX序列(长度 2 #include 3 using namespace std; 4 5 int main() 6 { 7 double ans = 0.0,pre = 0.0,now; 8 int n; 9 cin>>n;10 while(n--){11 cin>>now;12 pre *= now;13 ans += 2*pre+now;14 pre += now;15 }16 cout<<fixed<<setpr... 阅读全文
posted @ 2013-11-05 10:52 浙西贫农 阅读(429) 评论(1) 推荐(0) 编辑