摘要: 个人感觉这个题挺好,用到了 最短路+DP,题意很容易就看出来了,其实就是0-1背包问题,状态转移方程:dp[j] = min(dp[j], dp[j-v[i]] + w[i]), 背包容量V = sum(v[0]+v[1] +...+v[n]},]其中每点的power为v[i], 0点到i点的最短路为w[i];然后再在i = [sum/2+1, sum]范围内找min(dp[i])。 ps:偶悲剧的把i的范围写成i = [sum/2, sum]了,贡献无数WA。。。郁闷!!!My Code:#include <iostream>#include <cstdio>#inc 阅读全文
posted @ 2011-09-07 16:32 AC_Von 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 开始用Floyd做的,TLE!更二的时我自己找了一组1 1000 的数据,4S才算出来,本身程序就有问题,我居然还交上去了。。。后来用Dijkstra做,过了。。。200+ms;#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 1005;const int inf = 1000000;int dis[N][N];int low[N];int vis[N];int num1[N];int num2[N];void Dijkstra(in 阅读全文
posted @ 2011-09-07 11:10 AC_Von 阅读(221) 评论(0) 推荐(0) 编辑