【题解】Luogu P8269 [USACO22OPEN] Visits S

news/2026/1/14 14:23:20/文章来源:https://www.cnblogs.com/Seqfrel/p/19343747

思路

容易发现题目给出了一张 \(n\) 个点 \(n\) 条边的有向图,联想到基环树。又因为每个点出度均为一所以是内向基环树。

考虑到题目中的“拜访”类似于拓扑排序,冲突仅存在于环上,所以总边权和去掉环上最小的一条边即为答案。但题目不保证联通,所以其实是基环森林,每棵树上都有一个环。全部去掉即可。

代码

#include<iostream>
#include<cstdio>
#define int long long
using namespace std;
const int N=1e5+10;
int n,ans;
int a[N],w[N];
int ind[N],outd[N];
int vis[N];
int mn(int u){int minw=w[u],t=a[u];while(t!=u){minw=min(minw,w[t]);t=a[t];}return minw;
}
void change(int u){int t=u;while(vis[t]==1){vis[t]=2;//与判环的标记区分,防止汇入上一枝重新入环t=a[t];}return ;
}
signed main(){scanf("%lld",&n);for(int i=1;i<=n;i++){scanf("%lld%lld",&a[i],&w[i]);ans+=w[i];} for(int i=1;i<=n;i++){if(!vis[i]){int t=i;while(!vis[t]){vis[t]=1;t=a[t];}//遍历这棵基环树直到出现环if(vis[t]==1) ans-=mn(t);//再搜一遍环求出最小边权change(i);//将走过的路全部标记,在从外向基环树的其他环外点搜索时不会再进入环内} }printf("%lld\n",ans);return 0;
} 

时间复杂度 \(O(n)\)

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

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

相关文章

2025贵阳公墓/公益公墓top5推荐!贵阳优质生态陵园榜单发布,合规保障与人文关怀兼具的安息之所推荐 - 全局中转站

引言 随着社会文明的进步和殡葬观念的转变,公众对公墓的选择不再仅关注基本功能,更注重资质合规性、生态环境、服务品质及人文关怀。据中国殡葬协会最新行业报告显示,全国城市经营性公墓合规率约为72%,而同时具备公…

【题解】Luogu P2354 [NOI2014] 随机数生成器

题意 题面花里胡哨。直接看到棋盘那一段,告诉我们 \(K=N\times M\),也就是按给定递推式算出前 \(N\times M\) 项,按规定交换 \(1\sim K\) 的递增序列,最后再按顺序填入 \(N \times M\) 的数表。在上面找排序后字典…

基于Django的农场管理系统

&#x1f345; 作者主页&#xff1a;Selina .a &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作。 主要内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据…

rsync交叉编译步骤

1. 系统环境 1.1 目标系统环境 DISTRIB_ID=OpenWrt DISTRIB_RELEASE=21.02-SNAPSHOT DISTRIB_REVISION=unknown DISTRIB_TARGET=mediatek/mt7988 DISTRIB_ARCH=aarch64_cortex-a53 DISTRIB_DESCRIPTION=OpenWrt 21.02-…

【题解】P11453 [USACO24DEC] Deforestation S

题意 数轴上有 \(n\) 个整点,求最多删除多少个整点,使得 \(k\) 个条件依然满足。每个条件形如:在 \([l_i,r_i]\) 范围内至少存在 \(t_i\) 个整点。 思路 删点操作有悖于满足条件的逻辑,因此正难则反,考虑最少保留…

下载UCI数据集《Secondary Mushroom》

说明:查看代码 1. Title: Primary mushroom data2. Sources:(a) Mushroom species drawn from source book:Patrick Hardin.Mushrooms & Toadstools.Zondervan, 1999(b) Inspired by this mushroom data:Jeff Sch…

03 以上版本 Excel 文件解压替换图片

replace_images_zip_method.ps1 代码如下 param ([Parameter(Mandatory=$true)][string]$ExcelPath,[Parameter(Mandatory=$true)][string]$ImagesFolder,[Parameter(Mandatory=$false)][string]$OutputSuffix = "…

【dl】【WSL2】如何获得“Winux”?Windows 上的 Linux 子系统 —— 比虚拟机更好的选择

准备工作 第一步&#xff1a;确认CPU虚拟化 打开任务管理器——性能&#xff0c;在cpu一栏找“虚拟化”&#xff0c;确认其已开启。一般大部分cpu都是默认开启的。没开启的请自行前往bios修改。第二步&#xff1a;开启两个Windows功能 在任务栏搜索 Windows功能。开启“适用于L…

人机协同重构创作生态——生成式AI赋能内容产业的变革与思考

当内容生产遭遇“产能焦虑”与“创意枯竭”的双重困境&#xff0c;生成式AI正以不可逆转的态势重构行业规则。2025年一季度数据显示&#xff0c;国内72%的内容团队已将AI工具纳入核心工作流&#xff0c;电商文案、短视频脚本等场景的AI渗透率超85%。这场变革不仅是生产效率的提…

【题解】Luogu P13977 数列分块入门 2

思路 动态维护区间信息,考虑线段树。但每次查询的值不固定,如要使用线段树维护,则需针对每个查询的值单独建一棵树,时空复杂度均不可接受。因此考虑分块。 区间加问题类比线段树,只需为每个全包含于区间的块打上懒…

CSS3动画:2D/3D转换全解析

CSS3初体验transition过渡可以为一个元素在不同状态之间切换的时候定义不同的过渡效果。div {width: 200px;height: 200px;background-color: pink;/* div所有的样式发生修改的时候&#xff0c;都有1s的过渡效果 */transition: all 1s; } ​ div:hover {width: 300px; }2D转换t…

AI核心知识50——大语言模型之Scaling Laws(简洁且通俗易懂版)

Scaling Laws (缩放定律) 是目前 AI 领域的“摩尔定律”&#xff0c;也是 OpenAI 等巨头公司敢于投入几百亿美元去训练下一个模型的“信仰之源”。简单来说&#xff0c;它揭示了一个通过大量实验得出的数学规律&#xff1a;只要你按比例增加“模型参数量”、“训练数据量”和“…

MySQL 深分页查询优化实践与经验总结

在企业级项目中&#xff0c;深分页查询经常会成为性能瓶颈。本篇文章总结了我在实践中优化深分页 SQL 的经验&#xff0c;包括 执行计划分析、索引优化、游标分页改写 等内容。一、问题场景假设我们有一张订单表 orders&#xff0c;包含字段&#xff1a;id, user_id, status, t…

理性抉择方可行远——企业AI转型的路径选择与风险管控

数字化浪潮下&#xff0c;AI转型已成为企业提升核心竞争力的必答题。然而现实中&#xff0c;不少企业陷入“转型即烧钱”“技术即万能”的误区&#xff1a;传统制造企业盲目自研大模型&#xff0c;耗费数百万后无功而返&#xff1b;互联网公司一味追求API集成便捷性&#xff0c…

P2014 [CTSC1997] 选课

P2014 [CTSC1997] 选课 大意 有些学科 \(i\) 有先修课 \(fa\) 这些课程形成了一个树形结构,问选 \(m\) 门课所能达到的最大的学分。 思路 考虑树上背包。 我们定义 \(f_{u,j}\) 表示在 \(u\) 子树内选 \(j\) 门课的最…

彻底讲清 MySQL InnoDB 锁机制:从 Record 到 Next-Key 的全景理解

在真实业务中&#xff0c;你遇到的大多数 MySQL 性能问题、死锁问题&#xff0c;几乎都与“锁”有关。但很多工程师对锁的理解停留在碎片层面&#xff1a; 知道“行锁”“间隙锁”“next-key-lock”&#xff0c;但不知道 SQL 是如何触发这些锁的、锁到底锁在哪里、为什么会锁这…

超越宣传:基于数据与案例的软件人才外包服务商价值评估指南

随着企业技术架构复杂化与项目节奏敏捷化并行&#xff0c;组建高效、稳定的技术团队已成为核心挑战。软件人才外包公司作为企业获取弹性技术能力的关键渠道&#xff0c;其市场正伴随数字化转型浪潮快速演进。据工信部运行监测协调局发布的2025年数据显示&#xff0c;我国软件和…

MCU的启动流程你了解么?

MCU&#xff08;微控制器单元&#xff09;的上电过程是一个精心设计的序列&#xff0c;它确保芯片从完全断电状态可靠地进入正常工作状态。1. 上电复位&#xff08;Power-on Reset&#xff09;当给MCU上电时&#xff0c;电源电压从0V开始上升至额定工作电压&#xff08;如3.3V&…

电机多目标优化与灵敏度分析:探索电机性能提升之道

电机多目标优化&#xff0c;灵敏度分析。 图12为变量与优化目标的灵敏度&#xff0c;图13为变量之间的显著性分析。 该方法在电机顶刊IEE工业电子学报上发表。图引用&#xff1a;Liu F, Wang X, Xing Z, et al. Analysis and Research on No-Load Air Gap Magnetic Field and S…

I2C通信最全面的讲解:从协议到硬件设计

IIC&#xff08; Inter-Integrated Circuit&#xff0c;or I2C&#xff09;协议是由飞利浦半导体&#xff08;现在的恩智浦半导体&#xff09;开发&#xff0c;并于1982年发布的一种串行、半双工总线&#xff0c;主要用于近距离&#xff0c;低速的芯片之间的通信&#xff1b;I2…