CF1994F Stardew Valley(欧拉回路)

news/2024/10/5 18:58:50

题意简述

给定 \(n\) 个点 \(m\) 条边,每条边分为关键边和非关键边,你需要构造一条回路,使得每条边被至多经过一次,而关键边恰好被经过了一次,无解输出 -1。保证所有关键边将原图连通。

\(n,m\le5\times10^5\)

分析

先做一个比较关键的题意转化:求是否可以将图上的一些非关键边删掉,使得原图存在欧拉回路。

而欧拉回路存在的充要条件是图连通且所有点的度数为偶数,由于图保证连通所以只需考虑后一个条件。设 \(deg_i\) 表示 \(i\) 点度数的奇偶性。“加入一条边”就相当于反转边的端点的奇偶性。由于关键边必然存在,所以先强制把关键边加入,问题转化为现在每个点有一个 \(deg_i\) 的权值,可以选择一些边加入,使得所有点的 \(deg_i=0\)

而这是一个经典问题:对所有非关键边求出一颗 DFS 树森林,考虑从下往上转移,对于一条树边 \((u,v),dep_u<dep_v\),若 \(deg_v=1\),则选出这条边;否则不选。若森林的每棵树的根节点的 \(deg\) 都是 \(0\) 就合法,否则不合法。在此不做证明。还有一个小扩展:若有解,无论非树边选还是不选,都存在一个给树边定缺的方案使得解合法(只需要把非树边两端在树上的路径上的边状态取反即可)。

求出来了要加入的非关键边之后只需要建新图跑欧拉回路即可。线性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

快乐数学4弧度

4 弧度 我们大多数人都不知道为什么圆要有 360 度。在学习高等数学或物理时,我们会记住一个神奇的数字--“圆的大小”,并将自己设置为一个 “圆的360度”。 专家们说:“弧度让数学变得更简单!”但却没有简单的理由(涉及泰勒级数的讨论并不简单)。今天,我们将揭开弧度的真…

序列化器ser.validated_data、ser.initial_data、ser.data

1.ser.data 示例:在视图中返回序列化后的数据 return Response(serializer.data)2.ser.validated_data if serializer.is_valid():validated_data = serializer.validated_data3.ser.initial_data 原始数据 4.示例: class LoginPwdSerializer(serializers.Serializer):mobile…

12-网络安全审计技术原理与应用

12.1 概述 1)概念 :指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。 作用:在于建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便于发现潜在的网络安全威胁行为,开展网络安全风险分析及管理。 …

林史语其十(101-110)【下半更新】

12345鉴于收集素材与发布素材之间有一定延迟,此后林史一章分两次更新 先把存的旧东西发一下 #101故事源于 joke3579 学长博客里一份证明,涉及到求不定积分的 如果你不知道啥是不定积分,你只需要知道它是导数逆运算就行了 学长博客里写的是 :\(A\) 求导后等于 \(B\) HDK:\(…

CF 1805 D. A Wide, Wide Graph (*1800) 思维 + 树的直径

CF 1805 D. A Wide, Wide Graph (*1800) 思维 + 树的直径 题目链接 题意:思路: 若当前点到最远的点的距离 \(< k\) , 说明 \(x\) 自己成为一个联通块。 并且我们知道距离任意一点最远的点一定是树直径的一个端点。 反之,则与直径端点在同一个联通块。 所以一个点要么独立…

Windows应急响应-Auto病毒

Windows—Auto病毒应急思路分享。目录应急背景分析样本开启监控感染病毒查看监控分析病毒行为autorun.inf分析2.异常连接3.进程排查4.启动项排查查杀1.先删掉autorun.inf文件2.使用xuetr杀掉进程3.启动项删除重启排查入侵排查正常流程 应急背景 运维人员准备通过windows共享文档…

帝国cms后台admin帐号密码忘记的处理方法

5.1 至 7.0 版本登录 phpMyAdmin访问 http://yourdomain.com/phpmyadmin。 输入数据库用户名和密码登录。选择帝国CMS 安装所在的数据库在 phpMyAdmin 主界面中,找到并选择帝国CMS 使用的数据库。找到 phome_enewsuser 表在数据库中找到名为 phome_enewsuser 的表。 单击该表以…

[OI] 树链剖分

学的时候比较朦胧,现在不朦胧了,所以写一下 讲解 重儿子:一个节点的子树大小最大的儿子 轻儿子:非重儿子 重链:节点 -> 重儿子 -> 重儿子 .. 这样的链A beautiful Tree蓝线为重链可以发现,树上的所有节点一定属于且仅属于一个重链 首先要知道如何找重链 这很简单,…