基环树 最大独立集

2023-05-16

基环树,也是环套树,简单地讲就是树上在加一条边。它形如一个环,环上每个点都有一棵子树的形式。因此,对基环树的处理大部分就是对树处理和对环处理。显然,难度在于后者。

在基环树中,它可以选择叶子,并删除他们的邻接点并重复该过程,就可以直到剩下环。

解决这类问题一般都是去拆环,变一般树来处理。

题目:COCI2014/2015 Contest#1 D MAFIJA【基环树最大独立点集】 - Tieechal - 博客园 (cnblogs.com)

COCI2014/2015 Contest#1 D MAFIJA(树形DP/贪心)_Paulliant的博客-CSDN博客

最大独立集专题 - TieT - 博客园 (cnblogs.com)

找环可以用并查集来找,然后将它记录下来。
Q1:怎么断环?

利用并查集维护点与点的连通情况,把合并前就已经在同一集合的边记录下来。到时候dfs时,避开这条边即可。

Q2:断环后怎么搞?

断环后就形成了一棵普通的树,直接树形Dp即可(就是上面那道的做法)。但注意,我们记录的断掉的边(u,v)这两者不能同时取杀手。如何较方便的解决?直接分别以u,v为树根dfs两遍即可,最后将max(dp[u][0],dp[v][0])累计到答案(因为可能会有多个连通的块)。

整个算法的时间复杂度为O(N)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基环树 最大独立集 的相关文章

随机推荐

  • 数码管动态静态显示原理

    8段发光二极管连接有两种结构 xff1a 共阴极和共阳极 8位数码管字段码为8位 xff0c 从高位到低位的顺序依次是dp g f e d c b a 例如共阴数码管数字0的字段码为00111111B xff08 3FH xff09 共阴极
  • Linux系统安装FFmpeg以及依赖库

    最近这两周都在搞FFmpeg的安装 xff0c 先是在windows平台上做了一个rtsp音视频流采集程序 但总监必须要我运行在Linux 平台上 xff0c 没办法 xff0c 就这样开始了我的噩梦 小白一个 xff0c 大神勿喷 附件中
  • armbian换源

    先科普一下源格式 deb http mirrors aliyun com ubuntu ports xenial main 源类型 地址 系统版本 包范围 src源 没看源码需求可以注释以加快速度 一般换源直接更换地址即可 系统版本要和自己
  • c++报错合集

    c 43 43 报错合集 未定义标识符mkdir不存在从string到const char 的转换函数C4996 39 fopen 39 This function or variable may be unsafe Consider us
  • 直方图中最大矩形面积

    原文地址 xff1a http www geeksforgeeks org largest rectangle under histogram 注意 xff1a 本文并未对原文完整翻译 xff0c 而是结合原文并根据本人理解写出 xff0c
  • 常用的第三方api汇总[获取天气]

    这里mark一下自己经常用第三方api xff0c 非商用 xff0c 适合自己学习测试使用 例如js里的fetch xff0c 不要恶意访问 xff0c 后续会慢慢补充 1 随机用户 GET请求 JSON格式 https api rand
  • 私有服务器gitlab15.1.1-ce.0.el7版本添加新用户

    1 在menu下找到admin 2 进入admin后 xff0c 点击new user 3 进入new user之后 xff0c 以下三项必填 xff0c 其中第二项不能为中文 4 之后下划 xff0c 点击creature user 系统
  • Django 项目初始化

    文章目录 初始化流程1 环境准备1 1 制定规范1 2 建立虚拟环境1 3 安装 virtualenv1 4 激活虚拟环境1 5 退出虚拟环境1 6 安装 Django 2 创建项目 project3 创建应用 application 初始
  • 优酷路由宝 OpenWrt 刷机

    优酷路由宝 OpenWrt 刷机 资源列表 优酷土豆路由宝已获取 root 权限的版本固件 下载 https biaowong lanzouu com iChJt031yeud 密码 e6otBreed 刷机工具 下载 https biao
  • 谈一下两次CSP认证从180分到380分的感想

    最近联系我的小可爱们比较多 xff0c 我用qq建了一个ccf csp考试交流群 xff0c 群号673612216 xff0c 如果感觉有用可以加一下哦 欢迎访问我的CCF认证考试题解目录哦 https blog csdn net ric
  • Deepin Linux v20+安装Calibre官方最新版的方法

    电子书阅读 管理 编辑神器 xff0c 官方提供了非常简单高效的安装脚本 xff0c 下面一句指令就可以快速安装 xff0c 非常方便 xff0c 大家可以不必安装商店里面的版本 xff0c 直接安装最新版的 安装命令 xff1a sudo
  • 硬盘安装Debian与Xp双系统

    发个debian 6 0的简单安装教程 2009年10月写了个 debian lenny的简单安装教程 xff0c 前段时间一直盼望的6 0 squeeze终于正式发布了 xff0c 所以在lenny的教程基础上进行了修改 xff0c 以满
  • c语言链表及其基本操作

    链表及其基本操作 文章目录 链表及其基本操作 一 链表是什么 xff1f 二 链表是如何实现的1 创建链表2 输出链表 三 基本操作 xff08 增删改查插 xff09 1 查找结点2 删除结点3 插入结点4 清空结点 做为一名 新生蒟蒻来
  • 湖南大学第十六届程序设计竞赛

    湖南大学第十六届程序设计竞赛 https ac nowcoder com acm contest 18196 description D 遇到这种题 xff0c 其实可以去大胆点找规律 正解是对于排位的期望 xff0c 我们只需要在意排的位
  • VS2010中CString Format出错

    VS2010中 Format 用法 xff1a 我在项目中需要实现一个字符串的转化 xff0c 代码如下 xff1a CString mess int x y x 61 640 y 61 480 mess Format 34 当前为 xff
  • 数据库MySQL安装方法:官网下载安装、国内镜像源安装

    一 官网下载安装 xff08 MySQL Download MySQL Yum Repository xff09 下载rpm包 xff0c 上传到虚拟机上 xff08 rz命令 xff09 root 64 localhost ls 在官网下
  • 输出函数print的用法

    print函数的作用 xff1a 可以将想要展示的内容输出在d IDLE上或者输出在文件中 print xff08 xff09 函数的使用 xff1a 1 print xff08 xff09 函数输出的内容可以是数字 2 print xff
  • 2021“MINIEYE杯”中国大学生算法设计超级联赛

    2021 MINIEYE杯 中国大学生算法设计超级联赛 1006 Given a sequence of integers of length n find the shortest consecutive subsequence witc
  • ac自动机

    https blog csdn net lleozhang article details 82782723 https www cnblogs com vongang archive 2012 07 24 2606494 html htt
  • 基环树 最大独立集

    基环树 xff0c 也是环套树 xff0c 简单地讲就是树上在加一条边 它形如一个环 xff0c 环上每个点都有一棵子树的形式 因此 xff0c 对基环树的处理大部分就是对树处理和对环处理 显然 xff0c 难度在于后者 在基环树中 xff