传送门

取最大值即可。用拓扑,dfs都可以实现

#include <bits/stdc++.h>
using namespace std;
const int maxn=500009;
int n,m;
struct p{
int to,nxt;
}d[maxn];int head[maxn],cnt=1;
void add(int u,int v){
d[cnt].nxt=head[u],d[cnt].to=v,head[u]=cnt++;
}
double ans=0,dp[maxn],val[maxn];
void dfs(int now)
{
if(dp[now]) return;
dp[now]=0;
for(int i=head[now];i;i=d[i].nxt)
{
int v=d[i].to;
dfs(v);
dp[now]=max(dp[now],dp[v]);
}
dp[now]=max(val[now]+dp[now]/2.0,dp[now]);
ans=max(ans,dp[now]);
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>val[i];
for(int i=1;i<=m;i++)
{
int l,r;
cin>>l>>r;l++,r++;
add(l,r);
}
dfs(1);
printf("%.6lf",ans);
}

最新文章

  1. java编码解码乱码问题
  2. 疯狂java学习笔记之面向对象(四) - this关键字
  3. mongo3.x ssl版安装文件
  4. Windows平台上安装搭建iPhone/iPad的开发环境
  5. css选择器选择顺序是从右往左的,为什么?
  6. 【英语】Bingo口语笔记(56) - “令人失望”的表达
  7. 【转】解决Cannot change version of project facet Dynamic web module to 2.5
  8. Alljoyn 概述(2)
  9. 深入探究VC —— 链接器link.exe(4)
  10. selenium Chromediver
  11. POJ1273(最大流)
  12. HTTP 0.9 / 1.0 / 1.1
  13. [转载]Apple Watch 开发详解
  14. firefox设置每次访问时检查缓存
  15. 大数据学习笔记02-HDFS-常用命令
  16. WaitForMultipleObjects
  17. POJ 1753 Flip Game(bfs+位压缩运算)
  18. 一、Kafka初认识
  19. php各版本下载
  20. Unity5-CacheServer(资源平台切换之缓存服务器)的部署与使用

热门文章

  1. jvm入门及理解(四)——运行时数据区(堆+方法区)
  2. Win8.1/Win10在某些程序输入中文变成问号的解决方法
  3. layoutInflater参数解析与源码分析
  4. uni-app同步缓存值 设置 读取 删除
  5. POJ 跳蚤
  6. Scala学习系列(三)——入门与基础
  7. 解决QQ可以登录但是网页打不卡 ,提示代理服务器拒绝连接 的问题。
  8. 如何给 Visual Studio 的输出程序添加版本信息
  9. libcurl库返回状态码解释与速查
  10. java 之 javaBean