思路:

树形dp。

实现:

 #include <bits/stdc++.h>
using namespace std;
const int MAXN = ;
int n, a[MAXN], in[MAXN];
vector<int> G[MAXN];
double dp[MAXN][];
bool vis[MAXN];
void dfs(int now)
{
vis[now] = true;
for (int i = ; i < G[now].size(); i++)
{
int tmp = G[now][i];
if (!vis[tmp]) dfs(tmp);
dp[now][] += max(dp[tmp][], dp[tmp][] + a[tmp]);
dp[now][] += max(dp[tmp][], dp[tmp][] + (double)a[tmp] / 2.0);
}
}
int main()
{
cin >> n;
int u, v;
for (int i = ; i <= n; i++) cin >> a[i];
for (int i = ; i < n - ; i++) { cin >> u >> v; in[v]++; G[u].push_back(v); }
int i = ;
for (; i <= n; i++) if (!in[i]) break;
dfs(i);
printf("%.1f\n", max(dp[i][], dp[i][] + a[i]));
return ;
}

最新文章

  1. NFS Volume Provider(Part I) - 每天5分钟玩转 OpenStack(62)
  2. 网页语言有html,php.jsp,无论什么语言浏览器总是能正常显示,这个解析工作是浏览器完成的吗?
  3. HandlerThread和IntentService
  4. HTML与CSS基础知识补遗(一)
  5. mysql服务性能优化—my.cnf配置说明详解
  6. [No000028]Python的使用之禅及程序员应该明白的一些道理
  7. 获取本机MAC地址
  8. C语言如何 实现 下雪效果
  9. [Everyday Mathematics]20150223
  10. VB.NET开发中遇到的一个小问题
  11. 打造支持apk下载和html5缓存的 IIS(配合一个超简单的android APP使用)具体解释
  12. 过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解, 去^@,^M
  13. meta标签的少许语法,慢慢收集中...
  14. EassyMock实践 自定义参数匹配器
  15. sleep()方法和wait()方法之间有什么差异?
  16. 数据分析基础之Linalg的使用
  17. FusionCharts 3D环饼图
  18. python基础——匿名函数及递归函数
  19. Applet 应用程序进行数字签名,对系统文件进行读写操作
  20. java中的线程池原理

热门文章

  1. 24Web前端架构
  2. 理解Paxos Made Practical
  3. 通过GhostDoc实现自定义方法概要(summary)
  4. 解决GitHub加载和下载慢问题
  5. Iphone 启动图的尺寸
  6. 杂项:Java un
  7. 基于COCHONUT做和弦识别
  8. 本地测试出现:Call to undefined function curl_init()
  9. 关于kindle无法连接上wifi的问题
  10. Linux的远程桌面配置