题目

Description

“封印大典启动,请出Nescafe魂珠!”随着圣主applepi一声令下,圣剑护法rainbow和魔杖护法freda将Nescafe魂珠放置于封印台上。封印台是一个树形的结构,魂珠放置的位置就是根节点(编号为0)。还有n个其他节点(编号1-n)上放置着封印石,编号为i的封印石需要从魂珠上获取Ei的能量。能量只能沿着树边从魂珠传向封印石,每条边有一个能够传递的能量上限Wi,魂珠的能量是无穷大的。作为封印开始前的准备工作,请你求出最多能满足多少颗封印台的能量需求?

注意:能量可以经过一个节点,不满足它的需求而传向下一个节点。每条边仅能传递一次能量。

Input

第一行一个整数n,表示除根节点之外的其他节点的数量。

接下来n行,第i+1行有三个整数Fi、Ei、Wi,分别表示i号节点的父节点、i号节点上封印石的能量需求、连接节点i与Fi的边最多能传递多少能量。

Output

最多能满足多少颗封印石的能量需求。

Sample Input

4
0 3 2
0 100 100
1 1 1
2 75 80

Sample Output

2

Data Constraint

对于100%的数据,满足1<=n<=1000,0<=Fi<=n,0<=Ei,Wi<=100

分析

  • 树形Dp
  • 贪心都行

代码

 1 #include<iostream>
 2 using namespace std;
 3 struct sb
 4 {
 5     int to,nx,w;
 6 }g[10001];
 7 int cnt,list[10001];
 8 void add(int x,int y,int w)
 9 {
10     g[++cnt].to=y; g[cnt].nx=list[x]; g[cnt].w=w; list[x]=cnt;
11 }
12 long long ans;
13 int f[1001][1001],t[1001];
14 void dfs(int x,int y)
15 {
16     for (int i=list[x];i;i=g[i].nx)
17         dfs(g[i].to,min(y,g[i].w));
18     if (!x)
19     {
20         for (int i=list[x];i;i=g[i].nx)
21           ans+=f[g[i].to][g[i].w];
22         return;
23     }
24     for (int i=t[x];i<=y;i++)
25        f[x][i]=1;
26     for (int i=list[x];i;i=g[i].nx)
27         for (int j=y;j+1;j--)
28           for (int k=0;k<=min(j,g[i].w);k++)
29             f[x][j]=max(f[x][j],f[x][j-k]+f[g[i].to][k]);
30 }
31 int main ()
32 {
33     int n;
34     cin>>n;
35     for (int i=1,x,y;i<=n;i++)
36     {
37         cin>>x>>t[i]>>y;
38         add(x,i,y);
39     }
40     dfs(0,21321937);
41     cout<<ans;
42 }

转载于:https://www.cnblogs.com/zjzjzj/p/11375116.html

JZOJ 3425. 能量获取相关推荐

  1. 1633: 能量获取(energy)

    163316331633: 能量获取(energy) 时间限制: 1Sec1 Sec1Sec 内存限制: 128MB128 MB128MB 题目描述 "封印大典启动,请出NescafeNes ...

  2. 海盗来了免root无限能量获取攻略

    最近微信小游戏又火起来了,海盗来了就是其中最为火爆的小游戏之一.红手指微信海盗来了-恶魔无限破解辅助器是一款专为玩家准备的海盗来了辅助工具,小伙伴们可以用玩家可以使用这个辅助器,这款辅助器没有修改游戏 ...

  3. 【蚂蚁森林能量获取攻略】

    蚂蚁森林能量获取攻略 1.每日步数1.8万以上,可得296g能量. 2.查看电子账单,8g/次(秒熟),每月上限4次. 3.每日一偷:能量高峰期(00:00-0:30,7:00-7:30) 4.光盘行 ...

  4. 君子生非异也,善假于物也。【借助外力获取能量,主动改善生存环境。】

    文章目录 引言 I 借助外力 1.1 制造很实用工具 1.2 火 引言 人类懂得借助外力,从被动地适应环境的进化,进入到主动改善生存环境的发展轨道上了. 人之所以为人,是因为我们善于借助外力,而不是先 ...

  5. collect的功能是什么?其底层如何实现的?_用Python实现定时自动化收取蚂蚁森林能量,再也不怕被偷了

    1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...

  6. 凯利讯的能量收集技术延长电池寿命

    消费者对移动电子产品的渴望,无论其功能增强如何,都具有更长的电池寿命的默认预期.能量收集技术可以帮助工程师显著延长一次电池的使用寿命.对于设计者来说,构建电池扩展电路的任务已经变得非常容易,从模拟设备 ...

  7. python模拟蚂蚁森林能量产生过程代码_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...

    1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...

  8. 用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了

    1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...

  9. python自动收取蚂蚁森林能量_用 Python 实现定时自动化收取蚂蚁森林能量

    1. 概述 提到蚂蚁森林,大家应该都知道,你是否有因忘记收取能量而被好友收取的经历呢? 如果你不是蚂蚁森林重度用户,被别人收取了能量可能对你来说没什么. 但如果你是蚂蚁森林重度用户,遇到能量被偷 .. ...

最新文章

  1. 【NAACL2021】Graph4NLP:图深度学习自然语言处理(附ppt)
  2. python四大软件-PYPL 9月编程语言排行榜发布 Python一枝独秀
  3. 160个Crackme010
  4. Python 装饰器原理和基本实现
  5. proe输入数字时成双出现_天猫双11花呗可提额,支付宝输入几个数字,试试就知道...
  6. element 往node里面增加属性值_HashMap加载因子为何0.75,为何初始化值2的指数幂,底层解析...
  7. html5动画是什么,10个HTML5动画 让你忘掉Flash是啥(组图)
  8. arduino定时器函数如何使用_excel如何使用函数公式来查找图片
  9. 初中变成了菜园子了!
  10. C#LeetCode刷题-拓扑排序
  11. oracle 没有索引删除一行数据_Oracle数据库之索引
  12. 第四章 ---- 面向对象(一)
  13. com.alibaba.fastjson.JSONArray cannot be cast to com.alibaba.fastjson.JSONObject
  14. Win10自带超级截屏利器
  15. 怎么修改服务器网卡mac地址是什么,网卡MAC地址是什么?怎么修改网卡MAC地址
  16. mean函数 median函数【Matlab】
  17. Html中怎么用CSS让ul中多个li标签不换行横排显示
  18. 十四、理解nn.module方法——学习python面向对象编程(一)
  19. 白骨精写给孙悟空的信
  20. IT、TT、TN系统,你真的了解吗?

热门文章

  1. quidway secpath下搭建DHCP服务器01
  2. Sublime一些问题以及解决方法
  3. Elasticsearch 2.3.0 重建索引
  4. IOS-OC-基本控件之UITextField
  5. node 安装express提示不是内部或外部命令
  6. HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)
  7. NFC 与 RFID
  8. RS信号制java程序,java – 如何部署一个JAX-RS应用程序?
  9. Linux Ubuntu 18.04安装JDK、Hadoop、Hbase以及图形界面
  10. 课节5:图神经网络算法(二)