106 miles to Chicago---zoj2797(最短路问题,求概率,模板)
题目链接:http://www.icpc.moe/onlinejudge/showProblem.do?problemId=1797
题意是有 n 个点 m 条边,从a到b的不被抓的概率是p,让求从点1到点n的不被抓的最大概率;
Dijkstra套一下就可以了,注意初始化;
ab到bc不被抓的概率等于ab不被抓的概率乘上bc不被抓的概率;
#include <stdio.h>
#include <algorithm>
#include<string.h>
#include<queue>
using namespace std; #define met(a, b) memset(a, b, sizeof(a))
#define MOD 1000000007
#define N 2050
#define INF 0x3f3f3f3f typedef long long LL; int n, m, G[N][N], vis[N]; double dist[N]; double Dijkstra(int s)
{
for(int i=; i<=n; i++)
dist[i] = G[s][i]; vis[s] = ; for(int i=; i<=n; i++)
{
double Min = -INF;
int Index = -; for(int j=; j<=n; j++)
{
if( !vis[j] && Min < dist[j])
{
Min = dist[j];
Index = j;
}
}
if(Index == -)break; vis[Index] = ; for(int j=; j<=n; j++)
{
if( !vis[j] && dist[j] < dist[Index]*G[Index][j]/100.0)
{
dist[j] = dist[Index]*G[Index][j]/100.0;
}
}
}
return dist[n];
} void Init()
{
for(int i=; i<=n; i++)
{
for(int j=; j<=n; j++)
G[i][j] = -INF;
dist[i] = -INF;
G[i][i] = vis[i] = ;
}
} int main()
{
int a, b, c;
while(scanf("%d", &n), n)
{
Init(); scanf("%d", &m); for(int i=; i<=m; i++)
{
scanf("%d%d%d", &a, &b, &c);
G[a][b] = G[b][a] = max(G[a][b], c);
} double ans = Dijkstra(); printf("%.6f percent\n", ans);
}
return ;
}
106 miles to Chicago---zoj2797(最短路问题,求概率,模板)的更多相关文章
- POJ 2472 106 miles to Chicago(Dijstra变形——史上最坑的最长路问题)
题目链接 :http://poj.org/problem?id=2472 Description In the movie "Blues Brothers", the orphan ...
- POJ 2472 106 miles to Chicago
最短路问题变形. 题意是给你一些道路,和路过时不被抓的概率. 要求找一条到达目的地时不被抓的最大概率概率. 初始 dis[]设为 1 .其余为 0 .找最大就可以. #include<cstdi ...
- POJ2472106 miles to Chicago
106 miles to Chicago Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3931 Accepted: 1 ...
- hdu3076--ssworld VS DDD(概率dp第三弹,求概率)
ssworld VS DDD Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- 关于有向图走“无限次”后求概率/期望的口胡/【题解】HNCPC2019H 有向图
关于有向图走"无限次"后求概率/期望的口胡/[题解]HNCPC2019H 有向图 全是口胡 假了不管 讨论的都是图\(G=(V,E),|V|=n,|E|=m\)上的情况 " ...
- 字符串_KMP算法(求next[]模板 hdu 1711)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 问题描述:给两个序列a,b,长度分别为n,m(1<=n<=1000000,1< ...
- 倍增求lca模板
倍增求lca模板 https://www.luogu.org/problem/show?pid=3379 #include<cstdio> #include<iostream> ...
- 求最小正整数x,A^x=1(mod M)求阶模板
整数的阶:设a和n是互素的正整数,使得a^x=1(mod n)成立的最小的正整数x称为a模n的阶 //求阶模板:A^x=1(mod M),调用GetJie(A,M) //输入:10^10>A,M ...
- POJ3744Scout YYF I(求概率 + 矩阵快速幂)
Scout YYF I Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6757 Accepted: 1960 Descr ...
随机推荐
- Unity3D - 详解Quaternion类(二)
OK,不做引子了,接上篇Unity3D - 详解Quaternion类(一)走起! 四.Quaternion类静态方法 Quaternion中的静态方法有9个即:Angle方法.Dot方法.Euler ...
- Loadrunner 9.5_webservice(SOAP)性能测试
WebService定义:Webservice是一种新的使用基于XML标准和协议来交换信息的WEB应用程序.是基于SOAP(简单对象访问协议)消息的应该协议,只是为WEB页面或可执行程序提供编程接口. ...
- Windows7下4种方式快速显示桌面
1.Windows键+D快捷键直接显示桌面: 2.鼠标移到任务栏右下角直接显示桌面: 3.Windows键+空格快捷键显示桌面: 4.任务栏鼠标右键,选择“显示桌面”.
- 提高Web性能的前端优化技巧总结
- PL/SQL如何调试Oracle存储过程
from:http://jingyan.baidu.com/article/3a2f7c2e144d2826aed61167.html 调试过程对找到一个存过的bug或错误是非常重要的,Oracle作 ...
- MySQL<事务与存储过程>
事务与存储过程 事务管理 事务的概念 谓的事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,同一个事务的操作具备同步的特点,即事务中的语句要么都执行,要么都不执行. 事务的使用 开启事务 ...
- 服务器允许js跨域
header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Methods:POST,GET'); header('Ac ...
- 【RF库Collections测试】Convert To List
Name:Convert To ListSource:Collections <test library>Arguments:[ item ]Converts the given `ite ...
- Dubbo(三) -- 多协议支持与多注册中心
一.Dubbo支持的协议 Dubbo协议.Hessian协议.HTTP协议.RMI协议.WebService协议.Thrift协议.Memcached协议.Redis协议 二.协议简介 详细参考:ht ...
- ELK5.X使用X-Pack配置密码
一.前言 前面使用ELK5.X+logback搭建日志平台,但是,当访问kibana 时,直接就可以访问了,如果设置登录名和密码,是不是更好呢?答案是肯定的,这里使用X-Pack来配置登录名和密码. ...