题解:软件安装
题目https://www.luogu.com.cn/problem/P2515注意软件的依赖关系可能形成一个环a依赖bb依赖cc依赖a如果想要让环上的一个软件起作用必须得下载环上的所有软件。所以需要先缩点。缩点完成后重新建图该题就是经典的树形依赖背包问题。定义dp[i][j]为以i为根的子树在选择了i的前提下背包容量为j时的最大价值。dp过程中外层循环枚举背包容量内层循环枚举分配给当前子树的背包容量然后对于父节点u当前背包容量为j和子节点v以及分配给子树的背包容量为k那么dp[u][j]max(dp[u][j],dp[u][j-k]dp[v][k])父节点和遍历到v之前的其他子树用j-k容量的最大价值加上子树v用k容量产生的最大价值。因为要提前知道子节点的情况所以进行递归从下往上更新。考虑到可能会有多棵树所以创建一个虚拟节点0连接每棵树的根节点。那么dp完后的答案就是dp[0][m]dp部分voiddfs(intu){if(cost[u]m)//父节点的容量已经超过整个背包容量,直接放弃这棵子树return;dp[u][cost[u]]val[u];//先选择父节点(这棵子树的根节点)for(intv:ad[u]){dfs(v);//递归收集子树的情况for(intjm;jcost[u];j--)//倒着枚举背包容量,保证只选择该子树一次{for(inti0;ij-cost[u];i)//枚举可以分配给这棵子树的容量{dp[u][j]max(dp[u][j],dp[u][j-i]dp[v][i]);}}}}软件多次安装价值不会叠加所以是01背包问题。外层循环需要倒着枚举因为dp[u][j]的更新需要依赖dp表同层且列数更小的dp[u][j-i]需要保证dp[u]这一层j列前的数据是上一次产生的数据。如果正着遍历的话dp[u][j-i]可能已经被j-i列前面以及子树v的数据更新过这代表已经选择了子树v一次如果用这个数据去更新dp[u][j]的话会导致v又被选择一次。可能出现的情况正着遍历是先1后2j-i位置已经算入了子树v的价值到位置j时依赖j-i位置和子树v进行更新v会再次被算入。总之正序遍历会导致v的贡献被累加多次需要保证j前面的数据还没有被更新过所以需要倒着进行更新。总代码//缩点建图统计入边复杂度为O(n),去重为O(nlogn),每条树边进行一次dp,dp过程为O(n*m^2)//前两项过小忽略,整体复杂度为O(n*m^2)#includebits/stdc.husingnamespacestd;#defineintlonglong#defineinf1e18constintN105;constintM505;intc[N],v[N],in[N];//c:软件容量 v:软件价值 in:入度intdfn[N],low[N],stk[N];intscc[N],ins[N],cost[N],val[N];//scc:每个点所在的强连通分量编号//cost:强连通分量的容量 val:强连通分量的价值intdp[N][M];//dp[i][j] 以i为根的子树,选择i的前提下背包容量为j的最大价值vectorintadj[N],ad[N];intn,m,ti,tp,id;voidtarjan(intu){dfn[u]low[u]ti;stk[tp]u;ins[u]1;for(intv:adj[u]){if(!dfn[v]){tarjan(v);low[u]min(low[u],low[v]);}elseif(ins[v]){low[u]min(low[u],dfn[v]);}}if(low[u]dfn[u]){id;do{intxstk[tp];scc[x]id;ins[x]0;cost[id]c[x];val[id]v[x];}while(stk[tp--]!u);}}voiddfs(intu){if(cost[u]m)//父节点的容量已经超过整个背包容量,直接放弃这棵子树return;dp[u][cost[u]]val[u];//先选择父节点(这棵子树的根节点)for(intv:ad[u]){dfs(v);//递归收集子树的情况for(intjm;jcost[u];j--)//倒着枚举背包容量,保证只选择该子树一次{for(inti0;ij-cost[u];i)//枚举可以分配给这棵子树的容量{dp[u][j]max(dp[u][j],dp[u][j-i]dp[v][i]);}}}}voidsolve(){cinnm;for(inti1;in;i)cinc[i];for(inti1;in;i)cinv[i];for(inti1;in;i){intx;cinx;if(x0)continue;adj[x].push_back(i);}for(inti1;in;i){if(!dfn[i])tarjan(i);}for(intu1;un;u){intascc[u];for(intv:adj[u]){intbscc[v];if(ab)continue;ad[a].push_back(b);in[b];}}for(inti1;iid;i){if(in[i]0){ad[0].push_back(i);}}for(inti1;iid;i){sort(ad[i].begin(),ad[i].end());ad[i].erase(unique(ad[i].begin(),ad[i].end()),ad[i].end());}dfs(0);coutdp[0][m]endl;}signedmain(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);intT1;// cin T;while(T--){solve();}return0;}

相关新闻

机甲外观硬核实力,联想来酷 LS103 笔记本支架全面解析

机甲外观硬核实力,联想来酷 LS103 笔记本支架全面解析

随着轻薄本、游戏本普及,笔记本支架成为办公、电竞人群刚需。联想来酷斗战者系列发布全新 LS103 笔记本支架,定价 139 元,以机甲外观、强承重、全角度调节三大亮点,兼顾颜值与实用,完美适配学生、办公、游戏多场景使用…

2026/7/23 21:33:32阅读更多 →
2026 主流热门 AI 配音软件合集深度实测测评报告

2026 主流热门 AI 配音软件合集深度实测测评报告

随着短视频、有声书、跨境译制、企业宣讲等内容创作需求持续爆发,AI 配音工具已成为内容从业者标配。市场上国内外配音产品定位、音质、功能、收费体系差异显著,不少创作者因不了解产品适配场景出现音色违和、商用无授权、操作繁琐、成本超支等问题。本次…

2026/7/23 21:33:32阅读更多 →
“VLA-TVA”协同架构:打造具身智能“执行力”闭环(9)

“VLA-TVA”协同架构:打造具身智能“执行力”闭环(9)

前沿技术探索:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,是集深度强化学习(DRL)、卷积神经网络(CNN…

2026/7/23 21:33:32阅读更多 →
新能源储能与充电设施出海通信架构实战:全球射频自适应与高可用拨号守护机制

新能源储能与充电设施出海通信架构实战:全球射频自适应与高可用拨号守护机制

摘要:随着新能源储能系统与快充基础设施的大规模出海,中国制造的设备正全面接入海外当地的复杂通信网络。然而,跨国部署中频段碎片化、海外运营商通信制式高度非标准化以及野外弱网环境下的链路僵死,构成了出海设备交付后的重大运…

2026/7/23 22:39:42阅读更多 →
打破“无坐标、慢响应”魔咒:AI Agent驱动的毫秒级态势推演与决策闭环

打破“无坐标、慢响应”魔咒:AI Agent驱动的毫秒级态势推演与决策闭环

一、行业共性技术桎梏传统安防系统缺失像素原生三维坐标体系。二维监控画面无统一空间基准。跨摄像机跟踪目标坐标漂移轨迹断裂。静态数字孪生模型更新延迟分钟级。态势分析依赖人工回看事后处置响应滞后。有源定位硬件部署周期长存在电磁泄密风险。多路视频融合时序不同步数据…

2026/7/23 22:39:42阅读更多 →
Sheared LLaMA: Accelerating Language Model Pre-training via Structured Pruning 解读

Sheared LLaMA: Accelerating Language Model Pre-training via Structured Pruning 解读

一、论文基本信息 论文题目:Sheared LLaMA: Accelerating Language Model Pre-training via Structured Pruning 方法名称:LLM-Shearing 作者:Mengzhou Xia、Tianyu Gao、Zhiyuan Zeng、Danqi Chen 发表:ICLR 2024&#xff0c…

2026/7/23 22:39:42阅读更多 →
像素即坐标:打通跨摄像机追踪断层,重构全域空间连续建模底座

像素即坐标:打通跨摄像机追踪断层,重构全域空间连续建模底座

像素即坐标:打通跨摄像机追踪断层,重构全域空间连续建模底座一、行业技术固有断层痛点传统监控体系像素仅承载画面可视化信息,无空间坐标映射逻辑。单摄像机视野边界割裂,跨摄像机追踪目标ID漂移轨迹断裂。静态数字孪生依赖前置建…

2026/7/23 22:39:42阅读更多 →
具身智能重构高墙透明治理:视频孪生+无感空间感知,打造司法监所全域穿透防线

具身智能重构高墙透明治理:视频孪生+无感空间感知,打造司法监所全域穿透防线

具身智能重构高墙透明治理:视频孪生无感空间感知,打造司法监所全域穿透防线一、司法监所传统安防核心技术桎梏墙体隔断形成多层物理遮挡催生全域监管盲区。二维监控机位独立时序割裂无法实现跨镜头跟踪。静态数字孪生依赖前置建模虚实时空错位不具备动态…

2026/7/23 22:39:42阅读更多 →
2026十大生产制造ERP:警惕出货量误导,基于MES集成度与工单闭环逻辑重排

2026十大生产制造ERP:警惕出货量误导,基于MES集成度与工单闭环逻辑重排

在制造业数字化转型的深水区,企业决策者正面临一个尴尬的悖论:市面上号称“高产能”的ERP系统层出不穷,出货量榜单更是让人眼花缭乱,但真正落地后,生产现场的管理效率却并未显著提升。许多企业陷入了“报表数据漂亮&am…

2026/7/23 22:37:41阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →