随笔分类 -  最优比率生成树

摘要:思路:以val[u]-ans*edge[i].len最为边权,判断是否有正环存在,若有,那么就是ans小了。否则就是大了。在spfa判环时,先将所有点进队列。#include#include#include#include#include#include#define Maxn 1010#define Maxm 6000#define inf 1e10#define eps 1e-4using namespace std;int vi[Maxn];struct Edge{ int u,v,next; double len;}edge[Maxm];double dis[Maxn],v... 阅读全文
posted @ 2013-08-24 10:47 fangguo 阅读(169) 评论(0) 推荐(0)
摘要:思路:设sum(cost[i])/sum(dis[i])=r;那么要使r最小,也就是minsum(cost[i]-r*dis[i]);那么就以cost[i]-r*dis[i]为边权重新建边。当求和使得最小生成树的sum(cost[i]-r*dis[i])==0时,这个r就是最优的。这个证明是01分数规划。#include#include#include#include#include#define Maxn 1010#define Maxm Maxn*Maxn#define inf 1e16#define eps 1e-6using namespace std;int vi[Maxn],n;d 阅读全文
posted @ 2013-07-24 20:31 fangguo 阅读(216) 评论(0) 推荐(0)