zoukankan      html  css  js  c++  java
  • bzoj5197 Gambling Guide

    题目描述

    给定一张n个点,m条双向边的无向图。
    你要从1号点走到n号点。当你位于x点时,你需要花1元钱,等概率随机地买到与x相邻的一个点的票,只有通过票才能走到其它点。
    每当完成一次交易时,你可以选择直接使用那张票,也可以选择扔掉那张票然后再花1元钱随机买另一张票。注意你可以无限次扔票。
    请使用最佳的策略,使得期望花的钱数最少。

    输入

    第一行包含两个正整数n,m(1<=n,m<=300000),表示点数和边数。
    接下来m行,每行两个正整数u,v(1<=u,v<=n),表示一条双向边。
    输入数据保证无重边、无自环,且1号点一定可以走到n号点。

    输出

    输出一行一个实数,即最少的期望花费,当绝对或者相对误差不超过10^{-6}时视为正确。

    样例输入

    5 8
    1 2
    1 3
    1 4
    2 3
    2 4
    3 5
    5 4
    2 5

    样例输出

    4.1111111111

     

     

    这题好神呀QAQ(明明是我做题做的少)

    但是代码好像挺简单的

    想了半个小时没想出来就去看了题解

    学到了新姿势:对于这种 “初始只有一个点的dp值确定、其它点的dp值与其相邻的点有关” 的图上dp,考虑使用类似最短路的方式转移

    复杂度O(mlongm)

     

  • 相关阅读:
    9. MySQL
    python第四课
    python第三课pycharm的使用
    python第二课
    python第一课
    Python3基础-网络编程(8)
    Python3基础-异常处理(7)
    Python3基础-面向对象(6)
    Python3基础-模块和包(5)
    Python3基础-文件处理(4)
  • 原文地址:https://www.cnblogs.com/NicoDafaGood/p/8849322.html
Copyright © 2011-2022 走看看