首页 > 其他分享 >「Network」题解

「Network」题解

时间:2023-07-11 21:13:39浏览次数:42  
标签:Network 题解 edge ans1 完点 节点 分量

「CEOI2012」Network


Solution to Question

首先缩点(当然也可以不缩?),然后跑一遍 DFS 即可。

//w为联通分量里的节点个数
inline void dfs (const int &u) {
	ans1[u] = w[u];
	for (int v : G_scc[u])
		dfs(v), ans1[u] += ans1[v];
}

Solution to Question

观察缩完点后的图一定是保证无环的,又由于题目有个非常特殊的条件:图中有一个中心点 \(r\),对于其它所有点,有且仅有一条路径可达。于是,缩完点后的图一定是一棵以 \(r\) 为根节点的

对于节点 \(u\),它的子树中的节点想要到达其它子树,就必须往上爬,于是有了一个贪心的思路:「每一次连边都需要尽量往上连」。


注意这里的到达是指有且仅有一条路径,考虑下图情况:如果我们想从 \(C\) 往 \(A\) 甚至更上面连边,此时由于 \(A,B\) 在同一个联通分量中,\(B\) 原来是可以达到 \(A\) 的,再连上这条边之后,\(B\) 就有 \(2\) 条路径可以到达 \(A\)(\(A,B,C\) 又形成了一个新的环),是不符合题意的。

情况一

但是对于如下图「特例」,向上连的边,仅是“擦边”经过联通分量。此时这条边是可连的。

情况二


对于节点 \(u\),它的子节点有如下两种情况:(下图均为缩完点后的图)

  • 所有节点都连接到 \(u\),再由 \(u\) 连一条边向上。

  • 有且 仅有一条 边直接跳过 \(u\),直接向上连边,且满足「特例」(见上)。

    「仅有一条」:因为如果有第二条边向上连,则会有两个环经过同一条路径(\(u\) 往上)。


实现

由于缩完点是一棵树,考虑用 \(edge[]\) 记录下每个节点往上的那条边起始点在原图中的编号。

建图时,加上:

edge[scc[v]] = make_pair(u, v), 

这样我们可以在 \(O(1)\) 的时间复杂度,判断相邻的三个连通分量 \(A,B,C\),是否只经过位于中间的连通分量 \(B\) 中的一个点。

edge[B].second == edge[C].first

Summary

  1. 这道题需要考虑很多情况;
  2. 实现起来也还是有点难度。

标签:Network,题解,edge,ans1,完点,节点,分量
From: https://www.cnblogs.com/cqbz-dxm/p/17545929.html

相关文章

  • 正方形鱼池题解
    首先这道题\(T\)的范围很小,而\(N\)的范围却很大,所以我们只能枚举树那么我们如何枚举呢,树有上下左右之分,看起来十分难枚举,现在让我们仔细分析一下:水池的边长就等于\(min(上下界的距离,左右界的距离)\)这时我们就可以开始枚举了,我枚举的是左右界那么我们此时就可以发现上下界的两......
  • 题解 [NOIP2011 提高组] 聪明的质监员
    题目链接不难发现,\(W\)越大,\(y_i\)以及\(y\)就越小,\(W\)越小,\(y_i,y\)就越大。所以这是一个二分答案。考虑如何\(check\)。观察\[y_i=\sum\limits_{j=l_i}^{r_i}[w_j\geW]\times\sum\limits_{j=l_i}^{r_i}[w_j\geW]v_j\]不难发现,乘号的前后都是区间和的形式,有......
  • 【开机10】解决出现问题,你的PIN不可用,单击以重新设置PIN 无法打开相机 设置我的PIN 登
    \(弄了1.5个小时,找到这个视频,终于弄好了!!!!!!\)\(如果各位基友出现这种问题,可以参考。\)【开机10】解决出现问题,你的PIN不可用,单击以重新设置PIN无法打开相机设置我的PIN登录选项诊断启动禁用服务后问题解决......
  • NBD(Network Block Device)是一种用于网络存储的协议和技术。NBD服务器是一种提供网络块
    NBD(NetworkBlockDevice)是一种用于网络存储的协议和技术。NBD服务器是一种提供网络块设备服务的服务器,它允许用户通过网络连接来访问和管理块设备(如硬盘、SSD等),就像本地设备一样。NBD服务器的工作原理如下:NBD服务器将物理或虚拟块设备暴露为网络上的NBD设备。客户端使用NBD客......
  • poj 2236 Wireless Network 并查集
    WirelessNetworkTimeLimit: 10000MSMemoryLimit: 65536KTotalSubmissions: 20499Accepted: 8608DescriptionAnearthquaketakesplaceinSoutheastAsia.TheACM(AsiaCooperatedMedicalteam)havesetupawirelessnetworkwiththelapcomputers,butanun......
  • 洛谷 P4869 albus就是要第一个出场 题解
    洛谷P4869albus就是要第一个出场题意给定一个长度为\(n\)的序列\(A\),设可重集合\(S=\left\{\operatorname{xor}_{i=1}^nA_ix_i\midx_i\in\{0,1\}\right\}\),即\(S\)为\(A\)的所有子集的异或和构成的集合。给定一个数\(k\),求\(k\)在\(S\)中的排名。如果\(S\)中......
  • AT_abc306_h 题解
    AT_abc306_hBalanceScale题解Links洛谷AtCoderDescription有\(N\)个编号为\(1,2,\dots,N\)的砝码。有\(M\)次比较操作,每次比较砝码\(A_{i}\)和\(B_{i}\),\(A_{i}\)在左侧。分为三种情况:左边的砝码更重。右边的砝码更重。两边的砝码重量相同。将每次比较的......
  • CF878E 题解
    CF878ENumbersontheblackboard题解Links洛谷CodeforcesDescription给出\(n\)个数字,每次询问一个区间\([l,r]\),对这个区间内部的点进行如下操作。每次操作可以合并相邻两个数\(x,y\),用\(x+2y\)替换它们。对于每次询问,输出当最后只剩下一个数字时,这个数字的最大......
  • Exploiting Noise as a Resource for Computation and Learning in Spiking Neural Ne
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!https://arxiv.org/abs/2305.16044 Summary Keywords Introduction  ResultsNoisyspikingneuralnetworkandnoise-drivenlearning NSNNleadstohigh-performancespikingneuralmodels NSNN......
  • CODE FESTIVAL 2017 Final J 题解
    problem&blog。萌萌点分治,积累个trick/qq。对于完全图\((V,E)\),将\(E\)分成\(E_1,E_2,\cdots,E_k\)(\(E_1\cupE_2\cup\cdots\cupE_k=E\))。对每个边集求MST,得到新边集\(E_1^{'},E_2^{'},\cdots,E_k^{'}\),再求MST。最终剩下的边集,等同于原边集的MST。......