【BZOJ1690】【Usaco2007 Dec】奶牛的旅行 分数规划 判断负环
来源:互联网 发布:淘宝网店注册流程 编辑:程序博客网 时间:2024/06/05 17:54
题解:
分数规划+判断负环。
代码:
#include <queue>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 1010#define M 5050#define eps 1e-8using namespace std;double mid,fun[N];struct Eli{ int v,n; double f,l; void re(){l=mid*f-fun[v];}}e[M];int head[N],cnt;inline void add(int u,int v,double l){ e[++cnt].v=v; e[cnt].f=l; e[cnt].n=head[u]; head[u]=cnt;}int n,m,num[N];double dist[N];queue<int>q;bool in[N];bool spfa(){ memset(in,0,sizeof in); memset(num,0,sizeof num); memset(dist,0x43,sizeof dist); while(!q.empty())q.pop(); int i,u,v; q.push(1),dist[1]=0,num[1]=1; while(!q.empty()) { u=q.front(),q.pop(),in[u]=0; for(i=head[u];i;i=e[i].n) { v=e[i].v; if(dist[v]>dist[u]+e[i].l+eps) { if(++num[v]>n)return 1; dist[v]=dist[u]+e[i].l; if(!in[v])in[v]=1,q.push(v); } } } return 0;}bool check(){ for(int i=1;i<=cnt;i++)e[i].re(); return spfa();}int main(){ int i,a,b; double c; scanf("%d%d",&n,&m); for(i=1;i<=n;i++)scanf("%lf",&fun[i]); for(i=1;i<=m;i++) { scanf("%d%d%lf",&a,&b,&c); add(a,b,c); } double l=0,r=1e6; for(i=60;i--;) { mid=(l+r)/2.0; if(check())l=mid; else r=mid; } printf("%.2lf\n",l); return 0;}
0 0
- 【BZOJ1690】【Usaco2007 Dec】奶牛的旅行 分数规划 判断负环
- 【bzoj1690】【Usaco2007 Dec】【奶牛的旅行】【分数规划】
- bzoj1690[Usaco2007 Dec]奶牛的旅行 01分数规划+spfa(最优比率环)
- bzoj1690 [Usaco2007 Dec]奶牛的旅行
- bzoj1690/poj3621[Usaco2007 Dec]奶牛的旅行
- 【bzoj1690】[Usaco2007 Dec]奶牛的旅行
- bzoj1690 [Usaco2007 Dec]奶牛的旅行(最优比率环,二分答案+spfa判负环)
- bzoj 1690: [Usaco2007 Dec]奶牛的旅行(01分数规划--最优比率环)
- BZOJ 1690: [Usaco2007 Dec]奶牛的旅行
- 【BZOJ 1690】 [Usaco2007 Dec]奶牛的旅行
- 1690: [Usaco2007 Dec]奶牛的旅行
- bzoj 1690: [Usaco2007 Dec]奶牛的旅行
- 1690: [Usaco2007 Dec]奶牛的旅行
- bzoj 1690: [Usaco2007 Dec]奶牛的旅行 spfa+二分答案
- 奶牛的旅行 poj 3621 0-1分数规划
- BZOJ 1691: [Usaco2007 Dec]挑剔的美食家
- 1691: [Usaco2007 Dec]挑剔的美食家
- BZOJ1691: [Usaco2007 Dec]挑剔的美食家 Treap
- LINQ :First、FirstOrDefault使用;Max、Min使用
- 真的手机吸费 揭秘吸费电话 轻松赚钱
- 四方定理
- 12个有趣的C语言面试题
- opencv中矩阵的操作(两种程序)
- 【BZOJ1690】【Usaco2007 Dec】奶牛的旅行 分数规划 判断负环
- DP46道 - 简单分类
- 多线程NSInvocation+队列NSOperationQueue+NSBlockOperation
- Hibernate - DetachedCriteria 的完整用法
- 不是简单的换贴图,谈谈u3d的人物换装系统(仙剑demo整合换装系统)
- 环形缓冲区的设计与实现
- 响声电话吸费 增值电话代理 菲亚科技
- 声讯吸费代理 加值电话吸费 无学历要求
- 2015最新吸费 哪有电话吸费 供应加值电话