【洛谷_P2515】软件安装

yolov5 onnx推理时报错[ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Unexpected input data type. yolov5 onnxruntime 推理报错 阅读详情

软件安装


Description

现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。

但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j)。幸运的是,一个软件最多依赖另外一个软件。如果一个软件不能正常工作,那么它能够发挥的作用为0。

我们现在知道了软件之间的依赖关系:软件i依赖软件Di。现在请你设计出一种方案,安装价值尽量大的软件。一个软件只能被安装一次,如果一个软件没有依赖则Di=0,这时只要这个软件安装了,它就能正常工作。

Input

第1行:N, M (0<=N<=100, 0<=M<=500)
第2行:W1, W2, … Wi, …, Wn (0<=Wi<=M)
第3行:V1, V2, …, Vi, …, Vn (0<=Vi<=1000)
第4行:D1, D2, …, Di, …, Dn (0<=Di<=N, Di≠i)

Output

第1行:一个整数,代表最大价值。

Sample Input

3 10
5 5 6
2 3 4
0 1 1 

Sample Output

5

解题思路

我们先缩点,再反制,再DP

#include<iostream>
#include<cstdio>
using namespace std;

int n,m,totn,totw,a[1100][1100];
int w[1100],v[1100],b[1100],c[1100];
int fa[1100],f[1100][5100];

void floyed()
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			for(int k=1;k<=n;k++)
				if(a[k][i]==1&&a[i][j]==1)
					a[k][j]=1;
}

void merge()
{
	totn=n;
	for(int i=1;i<=totn;i++)
		for(int j=1;j<=totn;j++)
		{
			if(a[i][j]==1&&a[j][i]==1&&w[i]>0&&w[j]>0&&i!=j)
			{
				totn++;
				w[totn]=w[i]+w[j];
				v[totn]=v[i]+v[j];
				totw--;
				w[i]=totw,w[j]=totw;
			}
			if(a[fa[j]][j]==1&&a[j][fa[j]]==1&&w[fa[j]]<0&&w[j]>0)
			{
				w[n-w[fa[j]]]+=w[j];
				v[n-w[fa[j]]]+=v[j];
				w[j]=w[fa[j]];
			}
			if(w[fa[j]]<0&&w[j]>0)
				if((a[fa[j]][j]==1&&a[j][fa[j]]==0)||(a[fa[j]][j]==0&&a[j][fa[j]]==1))
					fa[j]=n-w[fa[j]];
		}
}

int dfs(int x,int k)
{
	if(f[x][k]>0)
		return f[x][k];
	if(x==0||k<=0)
		return 0;
	f[b[x]][k]=dfs(b[x],k);
	f[x][k]=f[b[x]][k];
	int y=k-w[x];
	for(int i=0;i<=y;i++)
	{
		f[c[x]][y-i]=dfs(c[x],y-i);
		f[b[x]][i]=dfs(b[x],i);
		f[x][k]=max(f[x][k],v[x]+f[c[x]][y-i]+f[b[x]][i]);
	}
	return f[x][k];
}

int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		scanf("%d",&w[i]);
	for(int i=1;i<=n;i++)
		scanf("%d",&v[i]);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&fa[i]);
		a[fa[i]][i]=1;
	}
	floyed();
	merge();
	for(int i=1;i<=totn;i++)
		if(w[i]>0)
		{
			b[i]=c[fa[i]];
			c[fa[i]]=i;
		}
	cout<<dfs(c[0],m)<<endl;
}

全面解读 SAP Business Data Cloud SAP 在 2025 年初正式推出(简称BDC),它把、以及全新的统一封装为一项完全托管的 SaaS 服务,配套交付“语义层 + 数据产品 + 智能应用”三层能力,为企业构建真正贴近业务语境的 “Business Data Fabric”。这一方案不仅解决了跨系统数据碎片化、治理难及 AI 训练数据可信度低的问题,还为现有 BW 客户、S/4HANA以及第三方工作负载提供云上现代化路径和零拷贝数据共享机制。本文将围绕技术架构、核心组件、业务场景、迁移路线及未来展望展开,以 Henkel 等真实案例佐证。 阅读详情

相关推荐

Android Profiler实战:如何用CPU分析工具揪出卡顿元凶(附线程状态解读)

本文深入解析Android Profiler中的CPU分析工具,重点聚焦线程活动监控。通过解读线程状态时间轴上的绿、黄、灰三色含义,并结合实战案例,指导开发者精准定位导致界面卡顿的CPU密集型或I/O阻塞代码,有效提升应用性能与用户体验。

weixin_29197699的博客 372

洛谷 P2515 [HAOI2010]软件安装

tarjan强连通缩点+树形分组背包dp

我要吃熊猫 812

抖音无人直播技术全解析:从原理、实操到合规化思考

直播技术作为内容分发的核心形式,其底层依赖于流媒体协议(如RTMP)与实时音视频编码推流。通过OBS等软件进行场景合成与虚拟摄像头技术,可以实现丰富的画面包装与自动化播放。这项技术的核心价值在于突破人力与时间的限制,实现内容的持续输出与流量获取,在电商带货、品牌展示、陪伴式内容等场景中具有应用潜力。然而,单纯依赖录播循环存在高风险,平台风控系统会通过内容重复性检测与互动行为模型进行识别。因此,更可持续的方向是探索“半无人直播”或自动化辅助工具,例如利用AI数字人驱动或直播切片技术,在合规前提下提升运营效率。

weixin_29895109的博客 507

【HAOI 2010】软件安装

题目描述 算法分析 与金明的预算方案不同的是,这里的依赖关系可能会形成一个环,跑一边 Tarjan 算法缩环,如果我们选择了这个环中的一个节点,那么为了获得价值,该环内的每个点都必选,因此可以看成一个整体,缩环后整个图变成了一棵树,计算树上有依赖背包 DP 即可。 其实可以像 【JSOI 2016】最佳团体 那样进一步缩小枚举范围,但是这题不卡常,就懒得写了。 第一次写的时候居然先清空图再跑了 T...

TungstenC 348

手把手教你学PCIE--所有 PF(Physical Function)共同管理和分配 VF

但具体如何分配和使用 VF 取决于硬件设计、驱动程序配置以及实际应用场景。

MHD0815的博客 1462

图文:银行核心账务处理逻辑(白话篇)

银行账务系统分为对内账(记录银行自身资产负债)和对外账(处理客户交易),通过特定编码规则的账号体系进行管理。采用T型账户结构和凭证制度确保每笔交易可追溯,通过明细核算与综合核算双线并行、每日轧账核对(科目日结单、总账、日计表)实现账务精准平衡。从业务触发到最终账平的全流程体现了银行账务"分层记录、双向核对、闭环校验"的核心原则,保障资金流动的透明性与安全性。

银行信息系统应用架构详解 539

洛谷 P2515 软件安装 题解

软件安装 题解 洛谷 P2515 题目 现在我们的手头有NNN个软件,对于一个软件iii,它要占用WiWiWi​的磁盘空间,它的价值为ViViVi​。我们希望从中选择一些软件安装到一台磁盘容量为MMM计算机上,使得这些软件的价值尽可能大(即ViViVi​的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件iii只有在安装了软件jjj(包括软件j的直接或间接依赖)的情况下才能正确工作(软件iii依赖软件jjj)。幸运的是,一个软件最多依赖另外一个软件。如果一个软件不能正常工作,那么它能够发挥的作用为

Y的博客 354

24、手机GPS天线设计与有源GNSS天线性能评估

本文系统介绍了手机GPS天线的代表性设计,包括隔离磁偶极子、共面平衡偶极子和小型陶瓷加载QHA天线,分析了其结构特点、性能参数及适用场景。同时详细阐述了有源GNSS天线的组成结构与G/T比作为关键性能指标的评估方法,并提出了组件选择、噪声控制和增益提升等优化策略。最后展望了未来手机GPS天线在小型化、多频集成和智能适应性方面的发展趋势。

pytorch8learner的博客 719

《基于YOLOv5/8/10的足球比赛球员识别系统毕设全指南:从开发到部署的一站式实战》

本文提出了一个基于YOLO系列模型的足球球员识别系统,具备完整的开发流程和技术方案。系统通过YOLOv5/8/10三大框架实现球员检测,平衡精度与速度需求。开发过程包含数据标注与增强、模型训练调优、PyQt5界面开发等关键环节,并提供了模型轻量化、多任务扩展等优化方向。系统可实现单张图像和视频流的实时识别,支持跨设备部署,适用于赛事分析和训练复盘场景。项目特色在于完整的技术实现路径和对不同YOLO框架的性能对比,为计算机视觉在体育领域的应用提供实践参考。

m0_71589036的博客 216

v86.01 鸿蒙内核源码分析 (静态分配篇) | 很简单的一位小朋友 | 百篇博客分析 OpenHarmony 源码

相比动态分配,静态内存池的分配就是个小弟弟,非常的简单,两个结构体 + 一张图 就能说明白。

日拱一卒,力出一孔 775

【洛谷 P2515】[HAOI2010]软件安装【图论+树形DP】

题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用W i 的磁盘空间,它的价值为V i 。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即V i的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j)。幸运的是,一个软件最多依赖另外一个软件。如果一个软件不能正常工作,那么它能够发挥的作用为0。 我们现在知道了软件之间的依赖关系:软件i依赖软件D i ​ 。现在请你设

绫 1185

【UG\NX二次开发】多个带ui的dll怎么整合到一个dll

NX二次开发-群精选」专栏收录了那些曾散落在聊天对话框里的精彩的知识分享,这都是被遗落的宝贵财富。让我们一起向大佬学习,充满激情地进步,不断超越自己。底部联系方式,欢迎您加入一起交流。有大佬知道多个带ui的dll怎么整合到一个dll吗。

王牌飞行员_里海的博客 283

洛谷——P2515 [HAOI2010]软件安装

https://www.luogu.org/problem/show?pid=2515#sub 题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依...

agcozdwdfvds08078的博客 144

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【SSL】2400&【洛谷】P2515软件安装

【SSL】2400&【洛谷】P2515软件安装 Time Limit:10000MS Memory Limit:65536K Case Time Limit:1000MS Description 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件

weixin_46975572的博客 194

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

洛谷 P2515 软件安装 —— tarjan + 树形背包

题目链接:点我啊╭(╯^╰)╮ 题目大意:     每个点有重量、价值、依赖点     树形背包模型,求体积为 MMM 的背包的最大值 解题思路:     注意根据依赖点建图后不是树和森林     因为会形成环,环上的点要么都选,要么都不选...

Scar_Halo 309

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

洛谷—— P2515 [HAOI2010]软件安装

题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j)。幸运的是,一个软件最多依赖另外一个软件。如果一个软件不能正常工...

weixin_34364071的博客 125

【洛谷P2515【HAOI2010】】软件安装

题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j)。幸运的是,一个软件最多依赖另外一个软件。如果一个软件不能正常工...

weixin_33774308的博客 200

洛谷 P2515 [HAOI2010]软件安装 解题报告

P2515 [HAOI2010]软件安装 题目描述 现在我们的手头有\(N\)个软件,对于一个软件\(i\),它要占用\(W_i\)的磁盘空间,它的价值为\(V_i\)。我们希望从中选择一些软件安装到一台磁盘容量为\(M\)计算机上,使得这些软件的价值尽可能大(即\(V_i\)的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件\(j\)(包括软件\(j\)的直接或间接依...

weixin_30679823的博客 135

[tarjan][树形dp] 洛谷 P2515 软件安装

题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j)。幸运的是,一个软件最多依赖另外一个软件。如果一个软件不能正常工...

weixin_30617561的博客 108
上一篇: 【SSL_P1608】皇宫看守
下一篇: 【SSL_1371】鱼肉炸弹
SSL_GYX
博客等级 码龄7年 103粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值