首页 > 其他分享 >耳分解小记

耳分解小记

时间:2023-01-03 08:22:59浏览次数:52  
标签:连通 cup 无向 分解 https com 小记

在有向(强)连通图中,定义“耳”为一条简单路径/一个简单环 \(a_1\to a_2\to\cdots\to a_k\),使得删去所有这些边之后不影响除了 \(a_2,a_3,\dots,a_{k-1}\) 的点的(强)连通性。

无向图中也有类似定义。

有以下结论:

  • 一张有向图可以被耳分解当且仅当其强连通。
  • 一张无向图可以被耳分解当且仅当其边双连通。

先看一道题:XXI Open Cup, Grand Prix of Korea C. Economic One-way Roads

题意即给定一张无向图,要你为它的每条边定向,每条边定为不同的方向有不同的代价,问使得定向之后该图强连通的最小代价。点数 \(2\le n\le 18\)。

首先随便定向,每条边定为代价较小的那一方向(因为每条边都要被定向)。

考虑反着做耳分解,每次尝试找一条简单路径/一个简单环。

设 \(f_S\) 表示 \(S\) 内的点集强连通的最小代价;\(g_{S,i,j}\) 表示目前经过的点集为 \(S\),当前需要连通 \(i,j\) 两点。

转移的话可以直接枚举 \(i\) 的后继 \(k\),然后有 \(g_{S\cup\{k\},k,j}\leftarrow \min(g_{S\cup\{k\},k,j}, g_{S,i,j}+a_{i,k})\)。如果 \(k\) 和 \(j\) 有边相连那么可以顺带更新 \(f_{S\cup\{k\}}\)。

代码:https://pastebin.ubuntu.com/p/VkDSDkVzzQ/

还有无向图版本:[SNOI2013] Quare

跟上面类似,只需要注意类似 \(x\to y\to x\) 的转移也是合法的,需要在枚举完 \(S,i,j\) 之后再特判一下这种转移。

代码:https://pastebin.ubuntu.com/p/9bmFRX4gHK/

参考:https://www.cnblogs.com/xiaoziyao/p/16441805.html

标签:连通,cup,无向,分解,https,com,小记
From: https://www.cnblogs.com/xsl19/p/tx.html

相关文章

  • Webpack3.x升级至 4.x 小记
    Webpack3.x升级至4.x小记 近期项目部署遇到点问题,需要升级webpack版本,特此整理一小记,记录升级过程中的依赖包及报错处理。本次升级的依赖包及对应版本对照表:np......
  • nginx使用小记
    中文wiki社区:http://wiki.codemongers.com/NginxChs一.nginx安装1.下载nginx:http://sysoev.ru/nginx/download.html(官方下载页面)wgethttp://sysoev.ru/nginx/nginx......
  • Mysql常见注意事项小记
    Mysql常见注意事项小记1.排序问题正常如果按照某字段升序排列,空值会排到有值的前面;如果逆序排序空值排在最后。有时候我们需要该字段为空的行数据要排到最......
  • [第326场周赛]分解质因数,埃氏筛,欧拉筛
    leetcode新年福利,本次周赛没有Hard难度的题目,然后我就第一次AK了~总的来说不是很难,涉及到了三个算法,在此记录一下。分解质因数题目链接:​​6279.数组乘积中的不同质因数数......
  • 将一个正整数分解质因数
    题目  将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表......
  • 数的分解
    把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?注意交换 3 个整数的顺序被视为同一种方法,例如 10......
  • 【线代&NumPy】第十章 - 正交性课后练习 | 施密特正交化 | QR分解法 | 简述并提供代码
    ......
  • [51Nod 1383] 整数分解为2的幂
    Description任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod1000000007的结果。比如N=7时,共有6种划分方法。7=1+1+1+1+1+1+1=......
  • Miller_Rabin素数测试与Pollard_Rho分解质因数
    Miller_Rabin测试如果需要快速测试一个数是否是素数,有筛法与试除法此处介绍的是一种基于费马小定理的不确定性算法,当然,这种算法的出错率是极其微小的,尤其当选择的测试数较多......
  • 【学习小记】狄利克雷卷积+杜教筛
    Preface这东西分明就是玄学暴力用来求简单的数论函数的前缀和,像φ,μ这类的东西当然,约数和,约数个数之类的也是可以的Text数论函数是指定义域是整数,陪域是复数的函数Dirich......