题目链接: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(最短路问题,求概率,模板)的更多相关文章

  1. POJ 2472 106 miles to Chicago(Dijstra变形——史上最坑的最长路问题)

    题目链接 :http://poj.org/problem?id=2472 Description In the movie "Blues Brothers", the orphan ...

  2. POJ 2472 106 miles to Chicago

    最短路问题变形. 题意是给你一些道路,和路过时不被抓的概率. 要求找一条到达目的地时不被抓的最大概率概率. 初始 dis[]设为 1 .其余为 0 .找最大就可以. #include<cstdi ...

  3. POJ2472106 miles to Chicago

    106 miles to Chicago Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3931   Accepted: 1 ...

  4. hdu3076--ssworld VS DDD(概率dp第三弹,求概率)

    ssworld VS DDD Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  5. 关于有向图走“无限次”后求概率/期望的口胡/【题解】HNCPC2019H 有向图

    关于有向图走"无限次"后求概率/期望的口胡/[题解]HNCPC2019H 有向图 全是口胡 假了不管 讨论的都是图\(G=(V,E),|V|=n,|E|=m\)上的情况 " ...

  6. 字符串_KMP算法(求next[]模板 hdu 1711)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 问题描述:给两个序列a,b,长度分别为n,m(1<=n<=1000000,1< ...

  7. 倍增求lca模板

    倍增求lca模板 https://www.luogu.org/problem/show?pid=3379 #include<cstdio> #include<iostream> ...

  8. 求最小正整数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 ...

  9. POJ3744Scout YYF I(求概率 + 矩阵快速幂)

    Scout YYF I Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6757   Accepted: 1960 Descr ...

随机推荐

  1. MindManager篇

    MindManager:新建脑图 MindManager:大纲视图(批阅文档结构) MindManager:导出为其他格式 MindManager:插入基本插入主题.备注,标记等) MindManag ...

  2. PHP利用memcache缓存技术提高响应速度

    PHP下memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问.memcache也提供用于通信对话(sessio ...

  3. 解决error: Your local changes to the following files would be overwritten by merge

    在项目里我们一般都会把自己第一次提交的配置文件忽略本地跟踪 1 [Sun@webserver2 demo]$ git update-index --assume-unchanged <filen ...

  4. php通过字符串生存hashCode

    /** * * 生存hashCode * */function hashCode($str){ if(empty($str)) return ''; $str = strtoupper($str); ...

  5. [转] 在图标库中,找到合适的图标 ico

    作者:xlrocket链接:https://www.zhihu.com/question/19857245/answer/241696797 在图标库中,找到合适的图标 或许,一些小伙伴会有收集图标的 ...

  6. 高级类特性----接口(intertface)

    接 口 有时必须从几个类中派生出一个子类,继承它们所有的属性和方法.但是,Java不支持多重继承.有了接口,就可以得到多重继承的效果. 接口(interface)是抽象方法和常量值的定义的集合. 从本 ...

  7. oracle启动报ORA-03113;

    [案例] 在重启数据库过程中: SQL> startup ORACLE instance started. Total System Global Area 1.0489E+10 bytes F ...

  8. java日志之slf4j与logback简单使用

    最近在开发遇到日志是使用slf4j与logback.xml的配置,所以就记录下来了. 1.导入这几个jar包: Logback 分为三个模块:logback-core,logback-classic, ...

  9. exp/imp与expdp/impdp区别

    在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间,而且文件也 ...

  10. mybatis-spring-1.2.1 jar下载、源码下载

    http://www.everycoding.com/maven2/org/mybatis/mybatis-spring/1.2.1.html