nssl1196-摘果子【树形依赖背包,dp】

正题


题目大意

有n个东西,每个东西有价值和价格,然后要求一个价格上限,和除了第一个东西以外都有一个买这个之前必须要买的东西。
求最大价值


解题思路

我们考虑之前的树形背包
然后发现时间复杂度O(n3)O(n^3)O(n3),之后我们考虑一个方法
之前是将子节点合并起来所以时间会很久,可是我们可以将一个子节点处理好,然后直接仍给它的下一个兄弟,这样就可以O(n2)O(n^2)O(n2)解决这个问题


code

#include<cstdio>
#include<algorithm>
#define N 2010
using namespace std;
struct node{int to,next;
}a[N*2];
int n,m,dfn[N],size[N],ls[N],f[N][N],tot,cnt,v[N],p[N],x,y;
void addl(int x,int y)
{a[++tot].to=y;a[tot].next=ls[x];ls[x]=tot;
}
void dfs(int x,int fa)//计算dfs序和子树大小
{dfn[++cnt]=x;size[x]=1;for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(y==fa) continue;dfs(y,x);size[x]+=size[y];}
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d%d",&v[i],&p[i]);for(int i=1;i<n;i++){scanf("%d%d",&x,&y);addl(x,y);addl(y,x);}dfs(1,0);for(int i=n;i>=1;i--){int x=dfn[i];for(int j=0;j<=m;j++) f[i][j]=max(f[i+size[x]][j],0);//继承兄弟for(int j=p[x];j<=m;j++)f[i][j]=max(f[i][j],f[i+1][j-p[x]]+v[x]);//处理}printf("%d",max(0,f[1][m]));
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaFX8 modena样式(css)源码

转载自 JavaFX8 modena样式(css)源码 /* Modena This is the second generation theme for JavaFX after Caspian. */ /* * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HE…

如何将每日新闻添加到自己博客中,发送到微信群中

大家好&#xff0c;我是雄雄。 前言 最近新整了个博客网站&#xff0c;同事在gitee上找的&#xff0c;还不错&#xff0c;gitee上的地址在这里&#xff1a;拾壹博客管理系统。 别人的业务&#xff0c;再好也有不满足自己的地方&#xff0c;所以我就拉下来源码看了看&#xff0…

烦躁、感悟

也不知道怎么回事&#xff0c;经历了很多纠结之后&#xff0c;感觉自己现在学的东西以后可能会都用不到。很烦恼&#xff0c;学了有什么用是吧&#xff1f;一个人学真的很孤独&#xff0c;连跟人家聊天都聊不到一起去&#xff0c;你跟行外人聊ajax聊bootstrap的神奇&#xff0c…

nssl1195-健美猫【???】

正题 题目大意 给出序列s(s∈[1,n])(s\in [1,n])(s∈[1,n])&#xff0c;将序列旋转 旋转操作 sisi1(i∈[1,n−1])sns1\begin{matrix} \\s_is_{i1}(i\in [1,n-1]) \\ s_ns_1 \end{matrix}si​si1​(i∈[1,n−1])sn​s1​​ 然后要求 ∑i1nsi−i\sum _{i1}^ns_i-ii1∑n​si​−i…

Hack for Cloud Beginner微软黑客松大赛

在这美丽的西子湖畔&#xff0c;我们欢迎各行各业的开发者参与此次Hack for Cloud Beginner微软黑客松大赛。我们致力于为开发者们提供在技术、社区领域中的交流平台&#xff0c;重在参与&#xff0c;意于创新。 此次黑客松大赛将于10月22日在中国杭州拉开帷幕&#xff0c;参与…

Asp.Net Core 2.0 多角色权限认证

在使用 WebForm 技术开发网站的时候&#xff0c;微软就提供了 Form 身份认证&#xff0c;这使得登录认证简单了许多&#xff0c;不同于 WebForm 以及后来的 Asp.Net Mvc&#xff0c;Asp.Net Core 中的身份认证与之前相比使用更加便捷&#xff0c;本文介绍 Asp.Net Core 2.0 多角…

html近期所学

导航栏&#xff08;新学的&#xff0c;&#xff0c;&#xff0c;&#xff0c;&#xff0c;其实就是简单的href&#xff09; css 开门大吉 轮播样式 js css js1 js1 js1 js1 js1 js7 首先是css 开门大吉 改只需其中的gif <html><head><style>section{width…

nssl1210-质数【素数筛】

正题 题目大意 求l∼rl\sim rl∼r这个区间素数或两个素数的乘积的数个数 解题思路 在欧式筛的时候判断j是不是素数&#xff0c;是就标记就行了。 code #pragma GCC optimize(2) #include<cstdio> #define N 10000000 #define ll int using namespace std; ll prime[N]…

asp.net core后台系统登录的快速构建

登录流程图 示例预览 构建步骤 当然&#xff0c;你也可以直接之前前往coding仓库查看源码&#xff0c;要是发现bug记得提醒我啊~ LoginDemo地址 1. 首先你得有一个项目 2. 然后你需要一个登录页面 完整Login.cshtml视图代码戳这里-共计55行 效果预览图 <!DOCTYPE html>&l…

nssl1211-好文章【字符串hash,map】

正题 题目大意 求长度为n个一个字符串长度为m不同的子串个数 解题思路 用字符串hash判断字符串是否相同&#xff0c;然后时间复杂度O(n2)O(n^2)O(n2)&#xff0c;然后我们因为自然溢出所以不能开桶&#xff0c;那就开map。然后就会愉快的被卡&#xff0c;所以再加一个自定义模…

JavaFX Chart设置数值显示

一、XYChart import javafx.application.Application; import javafx.geometry.NodeOrientation; import javafx.geometry.Side; import javafx.scene.Scene; import javafx.scene.chart.*; import javafx.scene.control.Label; import javafx.stage.Stage;public class LineC…

多多自走棋

文章目录[x]形似麻将种族职业各种搭配操作下面还是讲讲攻略&#xff08;主要&#xff09;在朋友的推荐下玩了自走棋&#xff0c;我一个不玩王者不玩吃鸡的人&#xff0c;玩这游戏竟然上瘾了&#xff0c;太不可思议了&#xff0c;这两天被这游戏搞得中午都没睡好&#xff0c;不得…

Linux--用SecureCRT来上传和下载文件

转载自 Linux--用SecureCRT来上传和下载文件 SecureCRT下的文件传输协议有以下几种&#xff1a;ASCII、Xmodem、Ymodem、Zmodem ASCII&#xff1a;这是最快的传输协议&#xff0c;但只能传送文本文件。 Xmodem&#xff1a;这种古老的传输协议速度较慢&#xff0c;但由于使用…

从头编写 asp.net core 2.0 web api 基础框架 (1)

工具: 1.Visual Studio 2017 V15.3.5 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相关知识就不介绍了, 这里主要是从头编写一个asp.net core 2.0 web api的基础框架. 我最近几年一直在使用asp.net web api (传统.net framework)作为后台Api, …

nssl1209-奇怪的队列【贪心,权值线段树】

正题 题目大意 给出每个人前或后面比他高的人数&#xff0c;然后求一个序列&#xff0c;人们高度字典序最小的序列。 解题思路 我们将高度从小到大插入&#xff0c;然后对于每个人至少保留一些比他高的人的空位&#xff0c;然后用权值线段树O(log2n)O(log^2 n)O(log2n)计算第…

美妙的Github

这十天来&#xff0c;一度被自走棋带入了旋涡。没学到什么&#xff0c;但让我惊喜的是&#xff0c;游戏之余&#xff0c;我尝试了下Github。人们都讲Github是程序员的必备&#xff0c;连Github都不知道做什么程序员。玩了github之后我才是知道什么叫大佬。 通常我找源代码都是上…

layer之jquery 弹窗插件 (最后版本v1.8.5)

转载自 jquery 弹窗插件 layer jquery.layer版本&#xff08;v1.8.5&#xff09;下载地址 注意&#xff1a;v1.8.5后改版移除各种API&#xff0c;构造方法改版 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/ht…

白嫖之Github

文章目录[x]微信机器人这十天来&#xff0c;一度被自走棋带入了旋涡。没学到什么&#xff0c;但让我惊喜的是&#xff0c;游戏之余&#xff0c;我尝试了下Github。人们都讲Github是程序员的必备&#xff0c;连Github都不知道做什么程序员。玩了github之后我才是知道什么叫大佬。…

asp.net core封装layui组件示例分享

什么封装&#xff1f;这里只是用了TagHelper&#xff0c;是啥&#xff1f;自己瞅文档去 在学习使用TagHelper的时候&#xff0c;最希望的就是能有个Demo能够让自己作为参考 怎么去封装一个组件&#xff1f; 不同的情况怎么去实现&#xff1f; 有没有更好更高效的方法&#xff1…

ssl提高组周三备考赛【2018.10.17】

前言 爆零… 成绩 爆蛋的就不放了 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC1112017hjq2017hjq2017hjq2022022021414148888881001001002222017zyc2017zyc2017zyc1001001000001001001000003332015lzx2015lzx2015lzx1001001001001001000000004442017lrz2017lrz2…