题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2306


给定一张有向图,每个点有权值,蚂蚁从某个节点出发,初始体力值为$1$,每走一条边$体力值*=p$,每经过一个点会获得幸福值为$点权*体力值$,求最大幸福值。即求

${\sum _{i=0}^{\infty }w[i]*p^{i}}$且${U(i-1,i)=1}$其中${U(A,B)}$表示是否存在A到B这样一条路径。


正解是一个叫做倍增Floyed的东西。

其实就是说考虑到步数是可以走无限步的,我们只需要知道一个近似值,而精度要求也还是比较高的,考虑用倍增的方法快速确定精度。
令${f[i][j][k]}$表示从第$i$个点走到第$j$个点,期间走了${2^{k}}$步。

那么可以利用Floyed进行如下转移:
$${f[i][j][k]=max(\forall (f[i][t][k-1]+f[t][j][k-1]*p^{2^{k}}))}$$

注意$k$这一维是可以滚动的。


 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<vector>
 5 #include<cstdlib>
 6 #include<cmath>
 7 #include<cstring>
 8 using namespace std;
 9 #define maxn 110
10 #define inf 0x7fffffff
11 #define llg long long
12 #define yyj(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
13 llg n,m,S;
14 double p,ans,a[maxn],f[maxn][maxn],g[maxn][maxn],tmp;
15 int main()
16 {
17     yyj("a");
18     cin>>n>>m;
19     for (llg i=1;i<=n;i++) scanf("%lf",&a[i]);
20     cin>>S>>p;
21     for (llg i=1;i<=n;i++)
22         for (llg j=1;j<=n;j++)
23             if (i!=j) f[i][j]=inf*-1;
24     for (llg i=1;i<=m;i++)
25     {
26         llg x,y;
27         scanf("%lld%lld",&x,&y);
28         f[x][y]=a[y];
29     }
30     llg T=50;
31     double tmp=p;
32     while (T--)
33     {
34         //tmp*=tmp;
35         for (llg i=1;i<=n;i++)
36             for (llg j=1;j<=n;j++)
37                 if (i!=j) g[i][j]=inf*-1;
38         for (llg k=1;k<=n;k++)
39             for (llg i=1;i<=n;i++)
40                 for (llg j=1;j<=n;j++)
41                     g[i][j]=max(g[i][j],f[i][k]+f[k][j]*tmp);
42         memcpy(f,g,sizeof f);
43         tmp*=tmp;
44     }
45     for (llg i=1;i<=n;i++) ans=max(ans,f[S][i]);
46     printf("%.1lf\n",ans*p+a[S]);
47     return 0;
48 }

转载于:https://www.cnblogs.com/Dragon-Light/p/6391345.html

【Ctsc2011】幸福路径相关推荐

  1. 【bzoj2360】【cstc2011】【幸福路径】【倍增+floyd】

    Description 有向图 G有n个顶点 1,  2, -,  n,点i 的权值为 w(i).现在有一只蚂蚁,从 给定的起点 v0出发,沿着图 G 的边爬行.开始时,它的体力为 1.每爬过一条 边 ...

  2. 【传递闭包】【倍增】幸福路径(P4308)

    正题 P4308 题目大意 给一个图,每个点有一个权值 axa_xax​,当你经过一条边时体力×p\times p×p(体力初始为1),每到一个点造成的贡献为体力×ax\times a_x×ax​,问 ...

  3. Noip前的大抱佛脚----赛前任务

    赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...

  4. 2019.4.summary

    2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...

  5. rest spring_带有Spring的REST的ETag

    rest spring 1.概述 本文将重点介绍ETag – Spring支持,RESTful API的集成测试以及带有curl的使用场景. 这是关于使用Spring 3.1和Spring Secur ...

  6. 使用Spring Security对RESTful服务进行身份验证

    1.概述 本文重点介绍如何针对提供安全服务的安全REST API进行身份验证 -主要是RESTful用户帐户和身份验证服务. 2.目标 首先,让我们看一下参与者-典型的启用了Spring Securi ...

  7. 带有Spring的REST的ETag

    1.概述 本文将重点介绍ETags-Spring支持,RESTful API的集成测试以及带有curl的使用场景. 这是关于使用Spring 3.1和Spring Security 3.1和基于Jav ...

  8. ios中位置权限_iOS 13中的位置权限

    ios中位置权限 In iOS 13, Apple made a big changes in location permission's behaviour, especially for &quo ...

  9. 《幸福就在你身边》第八课、幸福比成功更重要【哈佛大学幸福课精华】

    一.财富与幸福 "财富不是幸福之源".什么会让你感到幸福,一所大房子,一辆好车,还是一位更性感或者更善解人意的伴侣?积极心理学权威米哈伊·西卡森特米哈伊曾问过一个问题:" ...

最新文章

  1. python不同层级模块的导入和文件的读写
  2. add-apt-repository:找不到命令_嵌入式开发之交叉编译程序万能命令_以freetype为例...
  3. Redis系列(十四)、Redis6新特性之RESP3与客户端缓存(Client side caching)
  4. delphi7存取配置文件与sqlserver数据库连接_SQL Server基础知识概念要点详细讲解
  5. Java集合:Collection接口
  6. linux绑定team网卡,linux 实现双网卡绑定单个IP——team篇
  7. Java基础(二):基本数据类型和变量类型
  8. 2010.6.20 OA项目组一周工作报告
  9. 第006讲 多媒体页面 标签汇总
  10. 虚拟光驱 DAEMON Tools Lite 安装笔记
  11. anaconda 安装scipy
  12. 计算机去掉everyone访问权限,Win7提示您需要Everyone提供的权限才能对此文件进行更改的解决方法...
  13. OceanBase数据库实践入门——手动搭建OceanBase集群
  14. Windows 10 error code 0x80072efd
  15. 一次百度网盘的悲惨经历
  16. 基于JAVA机票预定系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  17. 数据库-[mysql]--详细笔记+教程
  18. html 单选 lable,label 标签的用法,点label选中单选、复选框或文本框
  19. 申请DUNS编码最新规则
  20. windows10简单试用多图,连薛定谔的猫都杀死了

热门文章

  1. Python基础09-字符串格式化
  2. 计算机一级ps2019,2019年计算机一级考试PS基础学习点子:PS菜单中英文对照表.docx...
  3. Oracle字符串转BooIean,利用Java的多线程技术实现数据库的访问.pdf
  4. 位置偏移问题 绘制_AutoCAD教程之绘制螺栓连接组合图
  5. (C++)202012-2 期末预测之最佳阈值 满分
  6. web类协议脚本-飞机订票系统示例
  7. Spring Cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)
  8. AI时代:推荐引擎正在塑造人类
  9. thinkphp pathinfo nginx 无法加载模块:Index
  10. 点击通知栏后打开Activity,并传参