圆方树


首先描述一下圆方树:

注:我们把一条边连接两个节点的图也认为是点双连通的。

对于一个无向连通图,对于每个点双连通分量建立一个新的点,新的点作为“方点”,原本的点作为“圆点”,这就是圆方树名字中的“圆方”二字。

然后,在一个由前面的圆点和方点组成的新的图上,给方点和它的点双中的每个点连边,根据点双的性质,这会构成一颗树。

为什么圆方树是“树”

每个点至少属于一个点双,所以圆方树是连通的。

详细的说:本来点双连通分量的放在这里变成了一个类似菊花图的东西,然后点双之间必然互相连通(原图整个连通),所以整个图连通。

两个点(无论是圆是方)之间必然只存在一条简单路径(否则就会合并成一个点双)

圆方树的性质

圆方树是一棵树

满足树的所有性质,并且可以在上面进行树上算法(例如:书上查分、熟练泼粪)

圆方树中每一条简单路径上圆点和方点交错排列

我们所有的边都是通过方点向圆点连边得到,也就是说任何一条边连接一个圆点和一个方点

原图上两点之间的必经点即为圆方树上两点路径上的圆点

点双连通里其他点肯定不是必经的,然而想到达另一个点双所要经过的点是必须的,这也就是那个圆点

圆方树常见用法

都是树了,那就是化图为树(树上算法肯定比图上丰富吧)

别忘了先把Tarjan写对!/doge

例题

APIO2018 铁人两项

题目大意

大题思路

参考代码

SDOI2018 战略游戏

题目大意

大题思路

参考代码

P4320 道路相遇

题目大意

大题思路

参考代码

CF487E Tourists

题目大意

大题思路

参考代码

【蒟蒻の笔记】圆方树初识相关推荐

  1. [学习笔记]圆方树广义圆方树

    引入 偶尔,我们会遇到一些要在无向图/仙人掌上做的问题,这些问题如果在树上就会比较方便,那么我们就开始考虑能不能把原图等效成一棵树,然后就可以方便地乱搞了? 圆方树就是一种将无向图/仙人掌变成树的数据 ...

  2. 【学习笔记】圆方树(CF487E Tourists)

    终于学了圆方树啦~\(≧▽≦)/~ 感谢y_immortal学长的博客和帮助 把他的博客挂在这里~ 点我传送到巨佬的博客QwQ! 首先我们来介绍一下圆方树能干什么呢qwq 1.将图上问题简化到树上问题 ...

  3. 仙人掌圆方树学习笔记

    终于对仙人掌有了一点初步的理解. 仙人掌 仙人掌是什么? 仙人掌是一个无向图. 仙人掌有什么特点? 仙人掌的每条边只属于一个简单环. 下面是一个栗子 有什么用呢? 我们可以先用\(tarjan\)找出 ...

  4. [JZOJ 5909] [NOIP2018模拟10.16] 跑商(paoshang) 解题报告 (圆方树)

    题目链接: https://jzoj.net/senior/#contest/show/2529/2 题目: 题目背景: 尊者神高达很穷,所以他需要跑商来赚钱 题目描述: 基三的地图可以看做 n 个城 ...

  5. [APIO2018] Duathlon 铁人两项 圆方树,DP

    [APIO2018] Duathlon 铁人两项 LG传送门 圆方树+简单DP. 不会圆方树的话可以看看我的另一篇文章. 考虑暴力怎么写,枚举两个点,答案加上两个点之间的点的个数. 看到题面中的一句话 ...

  6. LOJ.2587.[APIO2018]铁人两项Duathlon(圆方树)

    题目链接 LOJ 洛谷P4630 先对这张图建圆方树. 对于S->T这条(些)路径,其对答案的贡献为可能经过的所有点数,那么我们把方点权值设为联通分量的大小,可以直接去求树上路径权值和. 因为两 ...

  7. [APIO2018]铁人两项——圆方树+树形DP

    题目链接: [APIO2018]铁人两项 对于点双连通分量有一个性质:在同一个点双里的三个点$a,b,c$,一定存在一条从$a$到$c$的路径经过$b$且经过的点只被经过一次. 那么我们建出原图的圆方 ...

  8. 【loj#2524】【bzoj5303】 [Haoi2018]反色游戏(圆方树)

    题目传送门:loj bzoj 题意中的游戏方案可以转化为一个异或方程组的解,将边作为变量,点作为方程,因此若方程有解,方程的解的方案数就是2的自由元个数次方.我们观察一下方程,就可以发现自由元数量=边 ...

  9. 洛谷P4630 [APIO2018] Duathlon 铁人两项 【圆方树】

    题目链接 洛谷P4630 题解 看了一下部分分,觉得树的部分很可做,就相当于求一个点对路径长之和的东西,考虑一下能不能转化到一般图来? 一般图要转为树,就使用圆方树呗 思考一下发现,两点之间经过的点双 ...

最新文章

  1. 最烦人的正则表达式记忆口诀
  2. 【cocos2d-x 仙凡奇缘-网游研发(2) 角色换线系统】
  3. C++11 基于范围的 for 循环
  4. Unable to Connect: sPort: 0 C# ServiceStack.Redis 访问 redis
  5. * IO流递归拷贝一个文件夹 按源文件夹格式拷贝
  6. python初始化函数_当你学会了Python爬虫,网上的图片素材就开始免费了
  7. p67对应的服务器芯片组,使用 H67/P67 高速芯片组 Express 芯片组测试了适用于英特尔®台式机主板的外设...
  8. Vrep/CoppeliaSim:基础操作(1)
  9. RobotStudio软件:ABB机器人喷涂虚拟仿真
  10. Windows命令行调用windows 图片和传真查看器等
  11. 传漾科技:领跑html5数字化营销
  12. 著名的斐波那契额数列,1 1 2 3 5 8输出第n项
  13. 我为什么要立刻放弃React而使用Vue?
  14. Vue-router的使用
  15. GITC--2014全球互联网技术大会正式开始售票
  16. 少年之文明与国之文明——---从奥运会看国人素质之飞跃
  17. 本版1年以内的所有 面经题目
  18. 考研英语 - word-list-3
  19. SEO优化:Sitemap插件生成WordPress网站地图
  20. 详解函数中的 arguments

热门文章

  1. 小睿云电脑与桌面云的区别
  2. 使用twig来组装数据使数据结构可视化
  3. 赵云和吕布到底谁更厉害?
  4. SecureCRT 7序列号
  5. 实验楼 部分挑战
  6. HDU献给杭电五十周年校庆的礼物 (切蛋糕,线段划分区域)
  7. 第四届“图灵杯”趣味网络邀请赛
  8. SpringBoot 使用JDBC
  9. python time.sleep精确延时,Python time sleep()– time.sleep()方法的一站式解决方案
  10. chrome打字卡的问题