模板:圆方树

所谓圆方树,就是又圆又方的树

(逃)

前言

树有很多良好的性质,也可以上许多算法和数据结构
但我们对于一般图却没有太多办法…
然而,对于有些关注连同性、路径并&交的一般图问题,我们可以用圆方树,转化为树上问题解决。

解析

简介

把所有的点双求出来,然后把每个点双建成一个点(称为方点),向点双内的所有点(称为圆点)连边

实现

既然要求点双,当然要用tarjan
和普通的求tarjan求割点有一些区别:(越来越容易挂了)

  1. 不需要在函数里特判根(但是最后需要把残留在栈里的根弹掉)
  2. 求出点双弹栈时son和x不一定在栈里是相邻的(其实比较显然)
void tarjan(int x){dfn[x]=low[x]=++tim;zhan[++top]=x;for(int i=g1.fi[x];~i;i=g1.p[i].nxt){int to=g1.p[i].to;if(!dfn[to]){tarjan(to);low[x]=min(low[x],low[to]); if(low[to]==dfn[x]){++tot;g2.addline(tot,x);g2.addline(x,tot);while(zhan[top]!=to){int now=zhan[top--];++val[tot];g2.addline(now,tot);g2.addline(tot,now);}int now=to;++val[tot];g2.addline(now,tot);g2.addline(tot,now);top--;}}else low[x]=min(low[x],dfn[to]);}return;
}

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

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

相关文章

C - Insertion Sort Gym - 101955C

C - Insertion Sort Gym - 101955C 题意: t组数据,每组数据给你n,k,q,让你求存在多少合法的1~n排列 合法要求: 对排列的前k项进行排序,使得整个序列中最长的递增子序列长度为n-1 题解&#x…

P8330-[ZJOI2022]众数【根号分治】

正题 题目链接:https://www.luogu.com.cn/problem/P8330 题目大意 给出一个长度为nnn的序列aaa,你可以选择其中一个区间将其加上任意整数,要求这个序列的众数出现次数最多。 输出最多次数和可能的众数。 1≤n≤2105,1≤ai≤109,∑n≤51051\leq n\leq …

华为云.NET Core支持情况调查

各大公有云都提供了开发者开发的SDK,今天我们来看看华为云对.NET Core的支持情况怎么样? .NET SDK地址 https://developer.huaweicloud.com/sdk#.NET华为云的.NET SDK相比其他语言少的可伶,而且这几个SDK还不支持.NET Core。SDK的支持实在太差…

[2021-07-19 内测NOIP] 操作(状压DP),异或(字典树),等级(线段树),矩阵(DP)

[2021-07-19 内测] NOIP操作descriptionsolutioncode异或descriptionsolutioncode等级descriptionsolutioncode矩阵descriptionsolutioncode操作 description 有n堆石子,每堆石子都有一定的数量,第i堆石子的数量用Ai表示。 任意两堆石子均可合并&…

codeforces:1361(div1)1362(div2):总结

文章目录前言1362-A. Johnny and Ancient Computer解析1362-B - Johnny and His Hobbies解析1362-C - Johnny and Another Rating Drop解析1361-A Johnny and Contribution解析1361-B - Johnny and Grandmaster解析1361-C - Johnny and Megans Necklace解析1361-D - Johnny and…

2018沈阳区域赛

题目地址 题号题目知识点难度ASockpuppetsBSequences GeneratorCInsertion Sort找规律,推公式DDiameter of a TreeEThe Kouga Ninja ScrollsFCounting Sheep in Ami DongsuoGBest ACMer Solves the Hardest Problem思维暴力HRainbow GraphIDistance Between Sweeth…

.NET和Java之争

这几天连续有多篇文章诋毁.NET,这类文章我十几年前就看得多了,只不过十几年前是C和C之争,C和Java之争。我从来不理这类文章,因为这类口水战并没有什么实际意义。然而接连收到多位粉丝私聊说,主席,你应该写点…

P8329-[ZJOI2022]树【容斥,dp】

正题 题目链接:https://www.luogu.com.cn/problem/P8329 题目大意 有两棵nnn个点的有根树。 第一棵根为111,第iii个点的父亲在[1,i−1][1,i-1][1,i−1]中。第二棵根为nnn,第iii个点的父亲在[i1,n][i1,n][i1,n]中。每个点都恰好在一棵树中作为叶子。 …

线性代数一之矩阵转向量随机化求解——神奇的矩阵(BZOJ)+向量内积

向量随机化神奇的矩阵descriptionsolutioncode[NOI2013]向量内积descriptionsolutioncode矩阵既可以看成是一张数位表,也可以看成是若干个行向量或者若干个列向量的向量表神奇的矩阵 description solution 暴力做A∗BA*BA∗B会达到n3n^3n3的复杂度,难…

G - Best ACMer Solves the Hardest Problem Gym - 101955G

G - Best ACMer Solves the Hardest Problem Gym - 101955G 题意: 我们需要建立一个数据库以支持实时查询和修改。这个数据库中的记录是点坐标 (x,y) 和其权值 w。查询与修改操作可以表示为 1 x y w,在 (x,y) 处插入一个新的点,我们保证在…

模板:Link Cut Tree(LCT)

文章目录前言解析原理rotate(x)splay(x)access(x)findroot(x)makeroot(x)split(x,y)link(x,y)cut(x,y)pushdown(x)完整代码所谓Link Cut Tree,就是林可卡特发明的tree (逃) 前言 终于走到了这一天… 其实感觉没有预想的那么难(单…

P6803-[CEOI2020]星际迷航【博弈论,dp,矩阵乘法】

正题 题目链接:https://www.luogu.com.cn/problem/P6803 题目大意 给出一棵nnn个点的树,把它复制出D1D1D1层,编号为[0,D][0,D][0,D],然后每一层随机一个点向下一层随机一个点连边。 然后从第000层的111号点出发,两个人轮流操作…

潘淳:国士无双《微软技术俱乐部(苏州)成立大会暨微软技术交流会介绍》附专题视频...

题记:凡我赶不上的,我就在未来等他,随时等待捕捉那个趋势的的到来。2019年立一个FLAG,加入一个成长性组织,一个能让我学习使我成长的平台。2019年你和我都将亲历这个组织的到来,一个属于苏州程序员自己的大…

ASP.NET Core中借助CSRedis实现安全高效的分布式锁

引言最近回头看了看开发的.NET Core 2.1项目的复盘总结,其中在多处用到Redis实现的分布式锁,虽然在OnResultExecuting方法中做了防止死锁的处理,但在某些场景下还是会发生死锁的问题,下面我只展示部分代码:问题&#x…

L Machining Disc Rotors

L Machining Disc Rotors 题意: 圆心为(0,0)半径为R的圆,现在被被n个互不相交的圆切割(圆心和半径会给出),保证这n个彼此之间不会交叉,保证n个圆中不会有某个包含整个大圆的情况。问切割后大圆剩余部分的直径(即两点…

线性代数二之矩阵加速DP——数学作业,Arc of Dream

矩阵加速数学作业descriptionsolutioncodeArc of Dreamdescriptionsolutioncode数学作业 description solution dpdpdp状态转移方程,dpidpi−1∗10lenii(modM)dp_{i}dp_{i-1}*10^{len_i}i\pmod Mdpi​dpi−1​∗10leni​i(modM) nnn巨大,分段矩阵加速 …

pjudge#21655-[PR #5]双向奔赴【状压dp】

正题 题目链接:http://pjudge.ac/contest/951/problem/21655 题目大意 给出一张nnn个点的简单无向图,每条边的两个方向具有不同权值。求一个权值和最小的定向方案使得整张图强连通。 1≤n≤18,−1≤ai,j≤1061\leq n\leq 18,-1\leq a_{i,j}\leq 10^61≤n≤18,−1≤…

YBTOJ洛谷P2387: 魔法森林(LCT)

解析 LCT从板子到算法的入门题吧 有一些不知道的很实用的技巧 把边按a排序从小到大加入边 那么我们只需要维护当前1-n路径上的b的最小值即可 如果这条边两端点本来不连通,就直接link 否则找到路径上b最大的一条边,断掉,再加入当前边&#x…

Shadow Properties之美(二)【Microsoft Entity Framework Core随笔】

接着上一篇Shadow Properties之美(一),我们来继续举一个有点啰嗦的栗子。先看简单需求:某HR系统,需要记录员工资料。需要记录的资料有:员工号(规则:分公司所在城市拼音首字母&#x…

K - Let the Flames Begin

K - Let the Flames Begin 题意: n个人围成一个环,编号分别是1~n,从第一个人开始报数,报道k的人被移除,然后下一个人从1重新报,一直这样进行。问第m给被移除的人报数是多少? 一共T组数据&…