2018年10月18日提高组 T3 摘果子
大意
在选择一个东西前必须要选择另一样东西,选择一样东西可以获得一定的价值,但需要花费一定的代价。
求代价 ≤ m \leq m ≤m的最大价值
思路
有依赖性的背包问题(树形背包问题)
套模板(选课) O ( n 3 ) O(n^3) O(n3)可以拿50分,于是我们可以把结果都丢给兄弟算,时间复杂度 O ( n 2 ) O(n^2) O(n2)
代码
#include<cstdio>
#include<algorithm>
using namespace std;int tot,dfn[2005],size[2005],len;
int c[2005],f[2005][2005],v[2005],n,m,x,y,l[2005];
struct node{int next,to;}e[4005];
inline int read()
{char c;int f=0,d=1;while(c=getchar(),c<48||c>57)if(c=='-')d=-1;f=(f<<3)+(f<<1)+c-48;while(c=getchar(),c>47&&c<58) f=(f<<3)+(f<<1)+c-48;return d*f;
}
inline void write(register int x){if(x>9)write(x/10);putchar(x%10+48);return;}
inline void add(register int u,register int v){e[++tot]=(node){l[u],v};l[u]=tot;return;}//建边
inline void dfs(register int x,register int fa)//求dfs序和子节点个数
{dfn[++len]=x;size[x]=1;for(register int i=l[x];i;i=e[i].next){int y=e[i].to;if(y==fa) continue;dfs(y,x);size[x]+=size[y];}return;
}
signed main()
{n=read();m=read();for(register int i=1;i<=n;i++) c[i]=read(),v[i]=read();for(register int i=1;i<n;i++) x=read(),y=read(),add(x,y),add(y,x);//输入+建边dfs(1,0);for(register int i=n;i>0;i--){int x=dfn[i];//取下当前这个点for(register int j=0;j<=m;j++) f[i][j]=max(f[i+size[x]][j],0);//把结果丢给兄弟for(register int j=v[x];j<=m;j++) f[i][j]=max(f[i][j],f[i+1][j-v[x]]+c[x]);//01背包}write(max(0,f[1][m]));//输出
}
2018年10月18日提高组 T3 摘果子相关推荐
- SSL2811 2017年10月30日提高组T2 摘Galo(树形dp)
2017年10月30日提高组T2 摘Galo Description 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有 ...
- 【SSLGZ 2811】2017年10月30日提高组T2 摘Galo
问题描述 0v0在野外看到了一棵Galo树,看到食物的0v0瞪大了眼睛,变成了OvO. 这棵Galo树可以看做是一棵以1号点为根的n个点的有根数,除了根节点以外,每个节点i都有一个Galo,美味度为w ...
- SSL2793 2017年10月26日提高组T2 Deep(博弈)
2017年10月26日提高组T2 Deep Description 失败的燃烧军团想要逃回深渊,Khadgar 想要追击它们. 然而进入深渊的传送门只有一座,燃烧军团和Khadgar 各有一些法力水晶 ...
- 【GDKOI2014】JZOJ2020年8月13日提高组T3 壕壕的寒假作业
[GDKOI2014]JZOJ2020年8月13日提高组T3 壕壕的寒假作业 题目 Description Input Output 输出n行.第i行输出两个整数,分别表示第i份作业最早完成的时刻以及 ...
- JZOJ2020年8月11日提高组T3 页
JZOJ2020年8月11日提高组T3 页 题目 Description 战神阿瑞斯听说2008年在中华大地上,将举行一届规模盛大的奥林匹克运动会,心中顿觉异常兴奋,他想让天马在广阔的天空上,举行一场 ...
- JZOJ7月24日提高组T3 终章-剑之魂
JZOJ7月24日提高组T3 终章-剑之魂 题目 题解 题意 分析 Code 题目 [背景介绍] 古堡,暗鸦,斜阳,和深渊-- 等了三年,我独自一人,终于来到了这里-- "终焉的试炼吗?就在 ...
- 2020年10月30日提高组 C 大鱼吃小鱼
文章目录 R e s u l t Result Result H y p e r l i n k Hyperlink Hyperlink D e s c r i p t i o n Descripti ...
- 2017年10月23日提高组T2 灵知的太阳信仰 单调队列优化dp
Description 在炽热的核熔炉中,居住着一位少女,名为灵乌路空. 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量--核能. 核焰,可融真金. 咳咳. 每次核融的时候,空都会选取 ...
- 2020年10月30日提高组 B 超级蚯蚓
文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...
最新文章
- Levenshtein 相似度算法——Levenshtein(编辑距离)
- apache bench linux,linux – 如何在CentOS上安装Apache Benchmark?
- Struts2的简单认识
- 【Nginx】应用静态化配置
- 循序渐进学Python2变量与输入
- [CSS]RevealTrans 滤镜
- 解决 Chrome 请停用以开发者模式运行的扩展程序
- 深度学习实时表情识别
- Object对象转JSON字符串
- 《学习的本质》读后感
- Unity3D 法线转换切线空间
- Java static关键字与静态块
- 如何在新浪微博中批量取消关注
- MMORPG服务器架构
- Pilosa文档翻译(二)入门指南
- glusterfs删除节点步骤
- 懒人库ButterKnife的应用
- 怎么在mysql查看运行日志_如何查看mysql运行、访问记录等日志
- iphone微信下无法播放音乐
- oracle 修改po税api_[zz]Oracle EBS API: 采购订单承诺日期更改示例