【题解】codevs P2822 爱在心中(tarjan缩点)

1、电路分析知识全解析:从基础到实践应用 本博客全面解析电路分析知识体系,涵盖从基础的电压、电流、电阻概念到复杂的交流电路、瞬态分析和高级应用如滤波器与变压器等内容。适合电子技术专业学生和技术爱好者学习,提供详细的知识结构、学习路径、实践示例以及丰富的学习资源,包括计算机模拟工具Multisim和PSpice的使用指导。通过理论与实践结合,帮助学习者掌握电路分析的核心技能,为电子工程和电力系统等相关领域打下坚实基础。 阅读详情

该题思路类似洛谷P2341 受欢迎的牛,大部分内容可以参照上一篇题解,这里不再重复。但注意我们记录出度为0的点时还要判断它是一个点还是一个缩过的点,因为只有爱心天使(缩过的强连通分量)才能被别人爱慕。记录下有多少个爱心天使(cnt[i]!=1),并按照题意操作即可。最后输出强连通分量里的点时注意枚举1-n所有点,判断它染色后是不是出度为0的那个点,如果是就输出即可。

 

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cmath>
using namespace std;
const int maxn=100010;
const int maxm=500010;
int n,m;
int head[maxn],to[maxm],nnext[maxm];
int tot,index,ink,q,du0,num,top;
int dfn[maxn],low[maxn],stack[maxn],color[maxn],du[maxn],cnt[maxn];
bool b[maxn],instack[maxn];
void add(int x,int y)
{
	tot++;
	nnext[tot]=head[x];
	head[x]=tot;
	to[tot]=y;
}
void tarjan(int x)
{
	dfn[x]=low[x]=++index;
	stack[++top]=x;
	b[x]=instack[x]=true;
	for(int i=head[x];i;i=nnext[i])
	{
		int y=to[i];
		if(!b[y])
		{
			tarjan(y);
			low[x]=min(low[x],low[y]); 
		} 
		else if(instack[y])
		{
			low[x]=min(low[x],low[y]);
		}
	}
	if(dfn[x]==low[x])
	{
		ink++;
		int k;
		while(k!=x)
		{
			k=stack[top];
			top--;
			instack[k]=false;
			color[k]=ink;
			cnt[ink]++;
		//	angel[++q]=k;	
		}
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		int x,y;
		cin>>x>>y;
		add(x,y);
	}
	for(int i=1;i<=n;i++)
	{
		if(!b[i])
		{
			tarjan(i);
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=head[i];j;j=nnext[j])
		{
			int y=to[j];
			if(color[y]!=color[i]) du[color[i]]++;
		}
	}
	for(int i=1;i<=ink;i++)
	{
		if(du[i]==0&&cnt[i]!=1) du0++;
	}
	for(int i=1;i<=ink;i++)
		if(cnt[i]!=1) num++;
	cout<<num<<endl;
	if(du0!=1) 
	{
		cout<<"-1"<<endl;
		return 0;
	}
	else
	{
		for(int i=1;i<=ink;i++)
		{
			if(du[i]==0)
			{
				for(int j=1;j<=n;j++)
				{
					if(color[j]==i)
					{
						cout<<j<<' ';
					}
				}
				return 0;
			}
		}
		cout<<"-1"<<endl;
		return 0;
	}
	return 0;
}

(下图为真天使 立华奏)

Cesium 实战 19 - 使用 gltf-vscode 查看、预览以及编辑 glTF 和 GLB 模型 Cesium 实战 - 使用 gltf-vscode 查看、预览以及编辑 glTF 和 GLB 模型。 阅读详情

相关推荐

PID调参避坑手册:用APM/PX4飞控让无人机稳如老狗

本文提供了一份针对APM/PX4飞控的PID调参实战指南。文章从理解PID控制原理出发,详细解析了级联控制结构,并给出了从内环到外环的五步调参流程与数据日志分析方法,帮助无人机爱好者避开常见误区,实现稳定飞行。

red88的博客 875

Codevs2822爱在心中题解

题目 来源 https://vijos.org/p/1626 http://codevs.cn/problem/2822/题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N(N≤1000N\le 1000)个人,在他们的心中都有着一个

t14t41t的专栏 1179

稳健自适应波束形成学习(2):自适应计算对角加载量方法——基于广义线性组合的鲁棒Capon波束形成

对于快拍数相对阵元数较小时,样本协方差矩阵不能很好对协方差矩阵进行估计。常规的对角加载量需要根据经验值或不断手动调整进行测试,没有一个明确的准则和推导。该篇介绍一种自适应计算对角加载量的方法,且能适应快拍数相对阵元数较小时的情况。均匀线阵阵元数:18;载波频率30MHz;通信信号来波方向0°、来波估计偏差0.5°;干扰来波方向30°;通信信号信噪比10dB;干扰信号信噪比60dB。也即在干扰角度生成66dB的零陷,通信信号受到16dB的衰减。

a1uajug的博客 825

Codevs2822 爱在心中

2822 爱在心中 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度...

150

手把手教你用Cadence Virtuoso完成LNA全套仿真:基于SpectreRF手册的实战补充

本文详细指导如何使用Cadence Virtuoso和SpectreRF完成LNA的全套仿真,涵盖噪声仿真、增益压缩、THD分析及双音IP3测量等关键步骤。针对官方手册中的常见问题,提供了12个实战解决方案,包括hbnoise函数选择、双音信号源配置等,帮助工程师高效完成射频IC设计。

weixin_29102619的博客 524

1.triton镜像使用

1)拉取镜像2)启动容器指定模型仓库时可以执行server下的./fetch_model.sh,见2.2部分GPU版本的启动CPU版本的启动区别只在于--gpus=1这个参数注意:docker19.03之前的版本使用gpu要指定显卡硬件名,docker19.03之后的需要安装nvidia-container-toolkit或nvidia-container-runtime安装之后要重启docker查看gpus参数是否安装成功重新执行我遇到了如下错误先使用非GPU版本的。

天启的博客 2077

codevs 2822 爱在心中(强连通分量)

codevs 2822 爱在心中题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。”在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有传递性的,即如果A爱B,B爱C,则A也爱C。 如果有这样一部分人,他们彼

Loi_feather的博客 814

spdk + fio测试nvme 设备的性能

fio的测试对象可以是块设备、文件等,在spdk的使用过程中会unbind默认的nvme driver,所以在系统中是看不到nvme块设备的,在spdk中可以通过fio_plugin的方式,将spdk的用户态driver部分的io功能打包成一个ioengine提供给fio使用,可以综合spdk的高性能和fio提供的复杂场景。更多DPDK相关学习资料有需要的可以自行报名学习,免费订阅,永久学习,或点击这里加。这个jobfile是spdk中提供的例子。领取,关注我持续更新哦!2.7 jobfile的例子。

lingshengxiyou的博客 1089

codevs & vijos 爱在心中 - Tarjan

描述 “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有传递性的,即如果A爱B,B爱C,则A也爱C。 如果有这样一部分人,他们彼此都相爱,则他们就超越了一切的限制,...

adx33526的博客 140

仿真模型简单介绍

同时,各种以伯克利的Spice仿真程序的算法为核心的商用Spice电路仿真工具也随之产生,运行在PC和UNIX平台,许多都是基于原始的SPICE2G6版的源代码,这是一个公开发表的版本,它们都在Spice的基础上做了很多实用化的工作,比较常见的Spice仿真软件有HSpice、Pspice、Spectre、Tspice、SmartSpcie、IsSpice等,虽然它们的核心算法雷同,但仿真速度、精度和收敛性却不一样,其中以Synopsys公司的Hspice和Cadence公司的Pspice最为著名。...

小幽余生不加糖 8005

YOLOv11改进策略【卷积层】| DEConv: 强度信息与梯度特征融合的细节增强 适用于小目标与细节目标检测任务

本文记录的是利用 模块优化 的目标检测网络模型。(Detail-Enhanced Convolution,细节增强卷积)的设计旨在,解决 目标检测网络中传统普通卷积缺乏目标细节相关先验、对小目标边缘、目标与背景边界等关键细节捕捉能力不足的问题,同时避免引入额外参数量与计算开销,以适配 对实时推理性能与检测精度的双重需求。DEA-Net: Single image dehazing based on detail-enhanced convolution and content-guided atte

Limiiiing的博客 1498

Codves 2822 爱在心中

题面在这自己拿 ↓ http://codevs.cn/problem/2822/ 找强连通分量,就是找环,用trajian算法dfs记录一下时间戳和能找到的最早的祖先,如果最早的祖先等于当前的时间戳既找到一个环,利用栈维护一下,再开两个数组记录它是在第几个环中并且这个环多大。感谢红...

137

芯片标称具备8kVESD能力却在8kV测试中失效?

芯片级ESD(HBM模型)与系统级ESD(IEC 61000-4-2)存在本质差异:

硬核科技 647

codevs2822 爱在心中

2822 爱在心中  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢

We are OIers 694

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【codevs2822】爱在心中 tarjan 缩点+理解

【codevs2822】爱在心中 2014年1月26日5580 题目描述Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有传递性的,即如果...

weixin_30784141的博客 109

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Codevs 2822 爱在心中

2822 爱在心中 **时间限制: 1 s 空间限制: 128000 KB** 传送门 题目等级 : 钻石 Diamond 题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度...

weixin_30727835的博客 79

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

codevs-2822 (Tarjan)

codevs-2822——爱在心中(Tarjan模板题)

hehepig的博客 571

一颗国产墨盒芯片的一年实测:兼容、封锁与3500页打印记录

在国产芯片的讨论中,人们往往只关注CPU、GPU等大芯片,却忽略了日常生活中无处不在的微控制器(MCU)与存储芯片。打印机墨盒芯片正是这类小芯片的典型代表,它由EEPROM和低端MCU构成,体积微小,却要在原厂加密认证协议下稳定工作。本文通过一年使用惠普2332打印机搭配国产兼容墨盒的真实记录,展示芯片在固件封锁、逆向兼容、降级操作中的实际表现,并基于单页成本、识别稳定性等数据,客观评估国产芯片在成熟制程与快速迭代上的实力,同时指出其在标准定义与底层创新上的真实短板。从一颗墨盒芯片,管窥国产芯片版图的真实面

weixin_33795806的博客 329

【CODEVS2822】爱在心中

题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有传递性的,即如果A爱B,B爱C,则A也爱C。 如果有这样一部分人,他们彼此都相爱,则他们就超越了一切...

ETO的博客 186

强连通分量——爱在心中(codevs_2822)——tarjan求scc

scc 找只有一个节点的强连通分量,标记。 第一行输出强连通分量个数(不为1个节点) 缩点 建图 找出度为0的点。 超过一个或者该点被标记,puts(“-1”); else 输出答案。 #include<iostream> #include<cstdio> #include<vector> #include<stack&...

awpphnj4223的博客 152

[CodeVS2822]爱在心中

思路:Tarjan+缩点。首先跑一遍Tarjan,统计结点个数大于$1$的连通分量个数。然后寻找统计结点个数大于$1$且出度为$0$的连通分量,若只存在一个这样的连通分量,输出其点集即可。 1 #include<stack> 2 #include<cstdio> 3 #include<cctype> 4 #include<vector&...

weixin_34366546的博客 91

【CodeVS2822】爱在心中

Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有传递性的,即如果A爱B,B爱C,则A也爱C。如果有这样一部分人,他们彼此都...

weixin_30297281的博客 92

爱在心中(codevs 2822)

题目描述Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有传递性的,即如果A爱B,B爱C,则A也爱C。如果有这样一部分人,他们彼此都相爱,则他们就超越...

weixin_30407099的博客 96

1051: [HAOI2006]受欢迎的牛 (tarjan强连通分量+缩点)

题目大意:CodeVs2822的简单版本 传送门 $Tarjan$强连通分量+缩点,若连通块的个数等于一则输出n;若缩点后图中出度为0的点个数为1,输出对应连通块内的点数;否则输出0; 代码中注释部分是调了半个小时没发现有错的地方。。。 1 #include<cstring> 2 #include<cstdio> 3 #include<cma...

weixin_30865427的博客 82

codevs 2822(tarjan)

传送门 题解: 第一问:输出size大于1的强连通分量的个数(注意测试点1的特判,此测试点没有size大于1的连通分量。。。) 第二问:统计出度为0的分量个数,由于整个图连通,所以出度为0的分量一定能被其余所有分量走到,当且仅当这样的分量只有一个,大于一个则输出-1(可以理解为出现了“分叉”的情况)。#include<cstdio> #include<cstring> #include<ios

KGV093的博客 327

codevs2822

解题思路: tarjan缩点后算出度为0的点有几个,如果只有一个且这个点为爱心天使就行了; #include<iostream> #include<algorithm> #include<vector> #include<queue> #include<cstdio> #include<cstring> #d...

weixin_30338461的博客 201
上一篇: 【题解】P2341 受欢迎的牛(tarjan缩点)
下一篇: 【题解】P2921 在农场万圣节(tarjan)
Rem_Inory
博客等级 码龄8年 4粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值