小澳的葫芦_最优比例路径
来源:互联网 发布:二维数组冒泡排序 编辑:程序博客网 时间:2024/04/30 10:16
Analysis
最优比例路径,二分一个答案,用所有路径长度减去这个二分出来的答案,找一条长度为0的最短路
小数和精度的问题可以用乘一个很大的数解决
嗯,某中题库封掉了我的帐号
Code
#include <stdio.h>#include <queue>#define N 401#define M 4001#define F 10000#define INF 0x7f7f7f7fusing namespace std;struct edge{int y,w,next;}e[M];int dis[N],ls[M],maxE=0;bool vis[N];void add(int x,int y,int w){e[++maxE]=(edge){y,w,ls[x]};ls[x]=maxE;}int spfa(int st,int ed,int p){ for (int i=0;i<N;i++)dis[i]=INF; queue<int>q; q.push(st); vis[st]=true; dis[st]=0; while (!q.empty()) { int now=q.front();q.pop(); for (int i=ls[now];i;i=e[i].next) if (e[i].w+dis[now]-p<dis[e[i].y]) { dis[e[i].y]=dis[now]+e[i].w-p; if (!vis[e[i].y]) { vis[e[i].y]=true; q.push(e[i].y); } } vis[now]=false; } return dis[ed];}int main(){ freopen("calabash.in","r",stdin); freopen("calabash.out","w",stdout); int n,m; scanf("%d%d",&n,&m); for (int i=1;i<=m;i++) { int x,y,w; scanf("%d%d%d",&x,&y,&w); add(x,y,w*F); } add(0,1,0); int x=0,y=n; int l=0,r=INF; bool flag=false; while (l<=r) { int mid=(l+r)>>1; int tmp=spfa(x,y,mid); if (tmp<0) r=mid-1; else if (tmp>0) l=mid+1; else break; } printf("%.3f\n",l/(F*1.0)); return 0;}
0 0
- 小澳的葫芦_最优比例路径
- 最小比例生成树 小澳的葫芦
- JZOJ4826【小澳的葫芦】
- 【JZOJ4826】小澳的葫芦
- 【jzoj4826】【小澳的葫芦】【二分答案】
- LYOI 78 小澳的葫芦
- 01分数规划 东师oj3582: 小澳的葫芦
- sgu236Greedy Path(最优比例路径)
- JZOJ 4826. 【NOIP2016提高A组集训第2场10.30】小澳的葫芦
- C的最优路径
- 迷宫的最优路径
- jzoj 4826. 【NOIP2016提高A组集训第2场10.30】小澳的葫芦 01分数规划+最短路
- c........x 4^8^2^6 ssl 2554 小澳的葫芦 01分数规划+最短路
- 最优比例生成树
- 最优比例生成树
- Dijkstra最优路径的算法
- 推箱子的最优路径
- Dijkstra最优路径的算法
- Android 6.0运行时权限问题汇总
- 忘了引用lib
- PHP $_SERVER参数说明
- ios文件操作
- Android的AlertDialog点击确定后不关闭示例
- 小澳的葫芦_最优比例路径
- Android studio 使用分享
- MFC六大核心机制之五、六:消息映射和命令传递
- 宏
- SAP BO DASHBOARD 的web service 的链接地址从计算机名更改为IP或者是域名的方法
- LeetCode 283. Move Zeroes
- 搭建风控系统道路上踩过的坑 | 一个CPO的心得分享
- 基于Word模板的快速报表生成
- 关于CI里面的购物车