HDU4324 - Triangle LOVE 拓补排序

HDU1272 - 小希的迷宫 并查集检测无向图的环 HDU1272 - 小希的迷宫 利用并查集检测无向图的环 阅读详情

HDU4324 - Triangle LOVE : http://acm.showproblemhdu.edu.cn/.php?pid=4324

标准的拓补排序,上代码 :

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN = 2010;
int In[MAXN];
char Map[MAXN][MAXN];
int T,N;
int x,y;
int flag,Case = 0;
void Initial()
{
	flag = 0;
	memset(In,0,sizeof(In));
}
void TopoSort()
{
	int i,j,k;
	for(i = 0;i < N;i++)
	{
	/*	
		//这样写也可以过,但是时间会多一点点 
		for(j = 0;j < N;j++) 
		{
			if(!In[j])
			{
				In[j]--,flag++;
				for(k = 0;k < N;k++)
				{
					if(Map[j][k])
						Map[j][k] = 0,In[k]--;
				}
			}
		}
		*/
		for(j = 0;j < N;j++)
			if(!In[j])//找出第一个入度为0的节点	
				break; 
		if(j == N)//若没有入度为零的节点,则必成环 
			{
				flag = 1;
				break;
			}else{
				In[j]--;//,,, ,,,
				for(k = 0;k < N;k++)
					if(Map[j][k] == '1')
					In[k]--;
				}
	}	
	if(flag)printf("Case #%d: Yes\n",++Case);
	else printf("Case #%d: No\n",++Case);
}
int main()
{
	int i,j;
	scanf("%d",&T);
	while(T--)
	{
		Initial();
		scanf("%d",&N);
		for(i = 0;i < N;i++)
		{
			scanf("%s",Map[i]);
			for(j = 0;j < N;j++)
				if(Map[i][j] == '1')//若有字符'1',则代表当前人 i 喜欢'1'字符所代表的人 j
					In[j]++;//入度加一 
		}
		TopoSort();
	}
	return 0;
}


HDU1558 - Segment set 并查集 + 判断线段相交 阅读详情

相关推荐

HDU2473 - Junk-Mail Filter 利用虚拟数组实现删除并查集的节点

HDU2473 - Junk-Mail Filter 增加一个虚拟数组,实现"删除"并查集某个节点的功能

P_rogrammer的专栏 744

HDU1102 - Constructing Roads 用优先队列优化Prim最小生成树

HDU1102 - Constructing Roads 用优先队列优化Prim最小生成树

P_rogrammer的专栏 1576

ESP32S3学习——i2c,点亮0.96寸oled

ESP32S3学习——i2c,点亮0.96寸oled

HandBAI的博客 1万+

HDU1863 - 畅通工程 最小生成树的并查集方法实现

HDU1863 - 畅通工程 最小生成树的并查集方法实现

P_rogrammer的专栏 1466

Win11家庭版彻底关闭Hyper-V的3种方法(实测有效)

本文详细介绍了Win11家庭版彻底关闭Hyper-V的3种实测有效方法,解决与VMware的兼容性问题。包括命令行禁用虚拟化功能、微软官方工具DG_Readiness深度清理以及组策略与功能组件联用方案,帮助用户高效禁用Hyper-V并优化系统性能。

weixin_33728268的博客 2656

将点云坐标转换成世界坐标的demo

将点云坐标转换成世界坐标的demo

howard789的博客 2206

HDU1863 - 畅通工程 Prim最小生成树算法

HDU1863 - 畅通工程 Prim最小生成树算法,中午是用并查集的方法AC的,现在换个姿势,再来一次= =!

P_rogrammer的专栏 943

【vLLM-性能洞察】基于Ascend Profiler的端到端推理瓶颈定位与优化实践

本文详细介绍了如何利用Ascend Profiler对vLLM-Ascend大模型推理服务进行端到端的性能瓶颈定位与优化。通过实战案例,阐述了从数据采集、可视化分析到诊断低效算子、内存管理、计算通信重叠及框架调度等常见瓶颈的全过程,为基于昇腾NPU的AI推理性能调优提供了系统性的方法论和实用工具指南。

cc789的博客 519

HDU5154 - Harry and Magical Computer 拓补排序

HDU5154 - Harry and Magical Computer 拓补排序

P_rogrammer的专栏 855

DeepBSA实战指南:从安装到基因组分析的全流程解析

本文详细解析了DeepBSA工具从安装到基因组分析的全流程,特别介绍了其简化生物信息学分析的'一键式'操作和独家深度学习算法。通过实战案例展示了DeepBSA在信噪比处理和QTL定位上的优势,并提供了Linux和Windows系统的安装避坑指南、数据预处理技巧以及算法选择建议,帮助用户高效完成基因组分析。

weixin_28732953的博客 436

YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集

YOLOv5入门实践第2步,手把手教你使用labelimg标注数据集

路人贾的博客 1万+

HDU1233 - 还是畅通工程 最小生成树,用了三种姿势AC

HDU1233 - 还是畅通工程 最小生成树,用了三种姿势AC

P_rogrammer的专栏 837

CloudCompare 二次开发(16)——计算点云最值

不依赖任何第三方点云相关库,使用ClopudCompare计算点云最值。

点云侠的博客 517

HDU2094 - 产生冠军 冠军: 总人数 - 失败过的人数 = 1

HDU2094 - 产生冠军 冠军: 总人数 - 失败过的人数 = 1

P_rogrammer的专栏 800

3D 结构光相机工作原理全解 | 从编码投射到三维重建,原理 + 代码 + 工业实战一站式掌握

本文从3D结构光相机的整体架构出发,层层拆解了编码投射、相位计算、相位解包裹、三维重建的核心原理,补充了工业实战所需的公式推导、代码实现、参数调优、设备选型和案例落地,核心总结如下:相位是3D结构光成像的“灵魂”,其精度、稳定性直接决定3D重建的效果,包裹相位与绝对相位的区分的是工业实战的基础;编码投射的核心是“正弦条纹+格雷码条纹”组合,正弦条纹负责高精度相位提取,格雷码条纹辅助解包裹,适配工业场景的精度与稳定性需求;

getusushu的博客 411

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HDU2222-Keywords Search AC自动机

HDU2222-Keywords Search AC自动机算法

P_rogrammer的专栏 742

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

HDU1856 - More is better 利用并查集找最大群体数目

HDU1856 - More is better 利用并查, 集找最大群体数目

P_rogrammer的专栏 723

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

HDU1829 - A Bug's Life 分组并查集

HDU1829 - A Bug's Life 分组并查集,和POJ上的"食物链"是同一类的题,这题是最基础的分组并查集.

P_rogrammer的专栏 697

HDU3342 - Legal or Not 拓补排序模板

HDU3342 - Legal or Not 拓补排序模板

P_rogrammer的专栏 636

HDU1532 - Drainage Ditches 网络流之最大流

HDU1532 - Drainage Ditches 网络流: 最大流

P_rogrammer的专栏 627

【数据结构】基于比较的排序算法 - 交换排序

本文介绍交换排序中的冒泡排序与快速排序。冒泡排序通过相邻元素比较交换,实现升序,时间复杂度最坏为O(N²),空间复杂度O(1),稳定且适合小规模有序数据。快速排序采用分治思想,以基准值划分区间,平均时间复杂度O(N log N),空间复杂度O(log N),但不稳定,实际应用中性能优异,可通过随机基准、小区间优化等提升效率。

careathers的博客 317

pandas 深度入门:从数据结构到一份真实销售报表

本文系统讲解Pandas核心应用,从三分钟安装到完整月度报表生成,涵盖数据读取、清洗、筛选、分组聚合、表连接、透视表与时间序列等13个关键环节。强调“先看数据再动手”,掌握Series/DataFrame/Index结构本质,熟练运用loc/iloc、merge校验、agg/transform区别,通过真实案例实现高效报表自动化,告别手动Excel操作。最后提供性能优化与高频报错解决方案,助力读者快速上手,真正实现“写二十行代码,跑三秒出结果”。

信息安全领域优质创作者|操作系统领域专家 242

工单系统的数据结构化:故障分类体系设计与报表可用性

很多团队上完工单系统半年,会发现一个尴尬的事实:单子照常在走,报表却始终出不来。导出的 Excel 几千行,看不出趋势、算不出口径、答不了"哪类故障占大头"。问题几乎都不在系统,而在数据模型的第一层——。这篇文章把这件事拆开讲:自由文本为什么会失效、分类体系怎么分层、表怎么建、老数据怎么迁、上线前怎么验收。

ITyunwei0987的博客 274

【Linux进程(二)】深入 Linux 内核:进程状态切换与底层数据结构的秘密

本文从操作系统理论与Linux内核源码双重视角,深入解析进程状态的底层机制。通过“侵入式链表”与“偏移量计算”揭示task_struct如何同时存在于多类数据结构中,实现高效调度与管理。结合ps命令与实战代码,详解R、S、T、Z、X等状态的成因与行为,涵盖前后台切换、暂停/恢复、僵尸进程、孤儿进程等典型场景,揭示进程生命周期的完整图景,实现“知其然更知其所以然”。

wacsii的博客 291

数据结构:9.Map和Set

有的讲解会说这里key是标识作用,这种说法其实没有太大意义,就算知道了他是标识value的作用又如何,在实际的使用过程中,我们只会根据具体的效果选择使用的方法等,不会执着于“标识”这种说法。2.由于哈希函数的设计原则太过理论,它仅仅是在认为:这些通过关键码算出来的index不同 的情况下设计的,然而这种理论化的设计原则在遇到冲突时,恰恰就出现了问题,而我们能做的,就是降低冲突率。虽然哈希表的使用过程中存在冲突,但是在实际的使用过程中,哈希表的冲突率是不高的,冲突的个数是可控的。

2602_95646088的博客 185
上一篇: HDU3342 - Legal or Not 拓补排序模板
下一篇: HDU5154 - Harry and Magical Computer 拓补排序
P_rogrammer
博客等级 码龄12年 0粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值