蓝桥杯历届试题 国王的烦恼(并查集逆序加边+结构体)

智能优化电池:基于单片机的电池管理系统 设计简介: 本设计是基于单片机的电池管理系统,主要实现以下功能: 可通过LCD1602显示温度、电压电流值; 可通过按键调整温度、电压和电流的阈值; 用ADC0832将模拟量转换为数字量。 标签:51单片机、LCD1602、ADC0832 效果图: 总体资料: 原理图: 软件设计流程: 系统框图: 本设计以STC89C52单片机为核心控制器,加上其他的模块一起组成电动汽车的电池管理的整个系统,... 阅读详情

历届试题 国王的烦恼
时间限制:1.0s 内存限制:256.0MB

问题描述
  C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。

如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的桥或者其他的小岛互相到达,他们就会安然无事。但是,如果前一天两个小岛之间还有方法可以到达,后一天却不能到达了,居民们就会一起抗议。

现在C国的国王已经知道了每座桥能使用的天数,超过这个天数就不能使用了。现在他想知道居民们会有多少天进行抗议。
输入格式
  输入的第一行包含两个整数n, m,分别表示小岛的个数和桥的数量。
  接下来m行,每行三个整数a, b, t,分别表示该座桥连接a号和b号两个小岛,能使用t天。小岛的编号从1开始递增。
输出格式
  输出一个整数,表示居民们会抗议的天数。
样例输入
4 4
1 2 2
1 3 2
2 3 1
3 4 3
样例输出
2
样例说明
  第一天后2和3之间的桥不能使用,不影响。
  第二天后1和2之间,以及1和3之间的桥不能使用,居民们会抗议。
  第三天后3和4之间的桥不能使用,居民们会抗议。
数据规模和约定
  对于30%的数据,1<=n<=20,1<=m<=100;
  对于50%的数据,1<=n<=500,1<=m<=10000;
  对于100%的数据,1<=n<=10000,1<=m<=100000,1<=a, b<=n, 1<=t<=100000。

题解:如果这一天两个岛的居民抗议了,那么以后这两个岛都不连通了,所以如果逆向考虑的话,如果两个岛从不连通到连通了那么一天肯定是抗议的,所以逆序建边再做下并查集就好了
代码(这个题可能是C++组的,用java做会超时):



import java.util.Arrays;
import java.util.Scanner;

class S implements Comparable<S>
{
	int a,b,t;
	public S(int a,int b,int t) {
		this.a=a;
		this.b=b;
		this.t=t;
	}
	public int compareTo(S a)
	{
		return a.t-this.t;
	}
}

public class Main {
	static int n;
	static int m;
    static int N=100010;
	static int []pre=new int [N];
	static S [] s =new S[N];
	public static int  fi(int x) {
		return pre[x]==x?pre[x]:(pre[x]=fi(pre[x]));
	}
	public static boolean check(int x,int y) {
		x=fi(x);
		y=fi(y);
		if(x==y) {
			return true ;
		}
		else {
			pre[x]=y;
			return false;
		}
			
	}
	public static void main(String[] args) {
		for(int i=0;i<N;i++) {
			pre[i]=i;
		}
		Scanner sc=new Scanner(System.in);
		n=sc.nextInt();
		m=sc.nextInt();
		for(int i=0;i<m;i++)
		{
			int a,b,t;
			a=sc.nextInt();
			b=sc.nextInt();
			t=sc.nextInt();
			s[i]=new S(a,b,t);
		}
		Arrays.sort(s,0,m);
		int cnt=0,p=-1;
		for(int i=0;i<m;i++) {
			if(check(s[i].a,s[i].b)==false&&s[i].t!=p) {
				cnt++;
				p=s[i].t;
			}
		}
		System.out.println(cnt);
	}
}

超强干货之---Python-数据爬取(爬虫) 定义: 深度优先搜索是一种遍历或搜索树或图的算法,从起始节点开始,一直沿着一个分支走到底,再回溯到上一个节点继续搜索下一个分支,直到遍历完所有节点。特点递归:通常用递归实现,或者使用栈来模拟递归过程。内存占用低:在有大量分支的情况下,内存占用比广度优先搜索低。适合目标较深的情况:如果目标节点距离起始节点较深,DFS能更快找到目标。适用场景需要遍历所有节点的情况,如生成树、迷宫搜索。目标节点较深,且分支较多时。在大规模数据爬取时,选择合适的存储方式取决于数据的规模、结构和访问需求。 阅读详情

相关推荐

【分享】获取微信通讯录python代码形式实现

微信号”, “昵称”, “地区”, “备注”, “标签”, “签名”, “来源”5. 找到最后一个空格所在的位置(后一个就是真正的联系人了)当前微信号与上一个相同的时候,说明到底部了,可以跳出循环。3. 滚动鼠标到最顶部(防止已经滚动了一部分了)7.记录下上一个联系人的微信号。7. 无限循环按键盘下箭头。获取详情中的以下元素内容。6. 点击第一个联系人。4. 获取联系人列表。

程序员老狼专注开发aigc或客服系统应用 2894

蓝桥杯-国王的烦恼(c++)

问题描述: 输入输出样例: 思路: 首先我们对桥进行排序(根据桥的时间排序,时间长的放在前面),然后遍历每一座桥,若桥刚好连接了两个不为同一祖先的两座城市,而且该桥的时间与我们每次更新的时间不一样时,(若存在两座桥的时间相同且刚好连接了跟上述说法中一样的两座城市,没有这一判断条件我们便会得到错误答案。)我们对答案加一,并且在此更新我们维护的时间。这也是为什么在开始阶段我们要根据每一座桥的时间来对桥进行排序的原因。 注意事项: 1.我们在判断两座城市是否是刚联通时(即判断的这座桥连接了这两座城市),我们应

北边小洛的博客 379

51单片机定时器的原理、应用与编程实现

本文系统介绍了51单片机定时器的基本原理与应用。首先阐述了定时器的工作原理,包括定时模式和计数模式的区别。然后详细讲解了定时器的四种工作模式(方式0-方式3)及其适用场景,并分析了相关寄存器(TMOD、TCON、THx/TLx)的功能设置。文章还给出了定时器编程的具体步骤,包括初始化、计数初值计算和示例代码。最后通过LED闪烁、PWM波形产生、脉冲计数等实际应用案例,展示了定时器的多样化应用。掌握这些知识对嵌入式系统开发具有重要意义。

2501_91227323的博客 1524

蓝桥杯真题 问题 1435: [蓝桥杯][历届试题]国王的烦恼

问题 1435: [蓝桥杯][历届试题]国王的烦恼 转自:link. 题目链接: link. 解题思路:本题使用并查集的思想; 1.根据两岛屿之间的桥数,按大到小顺序排列; 2.把每个岛屿归为不同的组(各自所对应的组号即为岛屿号),若当前两岛屿所在的组号不同,则说明两岛屿当前不连通,改变岛屿的连通性,把其中一个岛屿所在的组号置为另一个岛屿的组号; 3. 如果每次都判断两个岛屿之间的组号是否相同必定会“牵一发而动全身”,举个例子:若当前4个岛屿所在的组号为1,1,2,2;若想把2号岛屿所在的组号变为2,则1号

weixin_43915790的博客 280

二、频率调制光谱(FMS)技术——error信号的数学模型及其他推论

一些推论。

qq_41111336的博客 1605

Unity游戏开发必备:HybridCLR热更新实战教程(含iOS/Android适配指南)

本文详细介绍了HybridCLR在Unity游戏开发中的热更新实战教程,包括iOS/Android平台适配指南。通过环境配置、项目结构规划、热更新工作流实现等步骤,帮助开发者高效掌握C#热更新技术,解决移动游戏快速迭代的痛点问题。

weixin_29011395的博客 441

蓝桥杯——国王的烦恼

并查集+结构体排序

weixin_44750790的博客 531

多孔材料吸附性质模拟程序RASPA的离线和在线安装方法

RASPA-2.0是今年美国西北大学教授Randall Q. Snurr等人开发的针对于MC,MD,分子力学优化等用途的程序,相比于之前开发的MUSIC软件,RASPA的功能更加齐全,操作更加简便,可以在MC的吸附过程中考虑骨架的柔性,也可以想MUSIC一样先制作积分格点(music中的map)。 A、离线安装(centos为例): (1)、安装之前要检查一下是否装了automake,

youyno的博客 1万+

【蓝桥杯】 历届试题 国王的烦恼(并查集)

我们完全可以逆向思维,不去模拟桥的坏掉,而是去模拟“桥的修建”!!!这样一来我们的程序就只需要循环一次去联合(unite)这些桥,一旦出现某座桥在进行Unite操作时,该桥的Unite操作导致了其连接的两个小岛的代表元发生变化(说明该桥是一条割线),就表示这个桥的损坏会使某两个小岛的居民由前一天的互通变为后一天的不互通,也就是说需要执行一次ans++。采用这样逆向修建的思路,我们就需要将给出的测试数据由桥的使用时限进行降序排序(此时使用时间最长的就是最开始被枚举的!因为它最晚坏,所以在逆向看来它是最先修建的

酱懵静的博客 1万+

企业微信API实战:解密external_userid的跨应用一致性管理

本文深入探讨企业微信API中external_userid的跨应用一致性管理问题,解析其本质及在不同应用场景下的ID不一致挑战。通过ID转换与统一管理方案,结合unionid实现跨应用客户数据整合,提供实战代码示例和架构设计,助力企业构建高效的客户管理系统。

weixin_29258297的博客 637

Cadence Allegro 17.2 PCB设计避坑指南:从焊盘制作到封装绘制的完整流程

本文详细解析了Cadence Allegro 17.2在PCB设计中的关键操作技巧,从焊盘制作到封装绘制的完整流程。通过0402电阻和2.54mm排针的实例,揭示新手常见错误及解决方案,包括焊盘参数设置、层类型区分和坐标输入规范,帮助工程师避免设计返工和生产事故。

weixin_28683391的博客 409

国王(C++)

在n×n (1<=n<=10)的棋盘上放k(0<=k<=n×n)个国王(一个国王可以攻击相邻的8个格子),求使他们无法互相攻击的方案总数。输出一行表示方案总数,若不能够放置则输出0。只有一行为两个整数n和k。

qxh10的博客 588

Qt思岚激光雷达

Qt关于思岚激光雷达研究示例,本示例采用qt界面开发,可以串口也可以tcp进行设备连接。接收数据进行相关的数据进行绘图, 这种雷达可以用于大屏触摸场景,会场互动触摸场景开发。 #ifndef MAINWIDGET_H #define MAINWIDGET_H #include <QTimer> #include <QWidget> #include "lidarmgr.h" namespace Ui { class MainWidget; } class MainWidget.

cqltbe131421的博客 1598

蓝桥杯  历届试题 国王的烦恼 并查集 逆序加边

历届试题 国王的烦恼 时间限制:1.0s 内存限制:256.0MB 问题描述   C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。   如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的桥或者...

一叶之修的博客 433

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

蓝桥杯 历届试题 题目总结

后天就是蓝桥杯省赛了,今天总结一下这段时间做的蓝桥杯历届试题,还是一个一个题目的来吧!!!!!! 1,历届试题 矩阵翻硬币   这个题目说真的,我不会,在网上看了某神牛的题解答案为 ans=sqrt(n)*sqrt(m),具体怎么证明的我也不知道 2,历届试题 兰顿蚂蚁   这个题目怎么说呢,应该是送分题,直接模拟就可以了,这里就不说了。 3,历届试题 分糖果 ...

aims714563740的博客 759

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

蓝桥杯历届试题国王的烦恼(并查集)

题目链接:http://www.dotcpp.com/oj/problem1435.html 就是考的并查集算法,但创新点就是安排天数逆序排序 排序后变成 3,4,3 1,2,2 1,3,2 2,3,1 依次遍历从第一个开始 因为本身3,4并不连通,所以抗议sum++; 同理1,2也不连通,sum++; 到1,3的时候,1,3也是不连通的,也要抗议,但是因为提议说是抗议几天,1,2和1,3的桥都是...

江西师范大学-20届-吴悠 496

efm32 入门.pdf

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

(蓝桥杯)历届试题 国王的烦恼 (并查集)

历届试题 国王的烦恼   时间限制:1.0s   内存限制:256.0MB      问题描述   C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。   如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座

若忆_star 6445

【蓝桥杯】历届试题 国王的烦恼

问题描述 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。   如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的桥或者其他的小岛互相到达,他们就会安然无事。但是,如果前一天两个小岛之间还有方法可以到达,后一天却不能到达了,居民们就会一起抗议。   现在C国的国

weixin_44958234的博客 264

蓝桥杯题库题解合集(C/C++实现)

文章目录二、基础练习BASIC-1 闰年判断BASIC-2 01字串BASIC-3 字母图形BASIC-4 数列特征BASIC-5 查找整数BASIC-6 杨辉三角形BASIC-7 特殊的数字BASIC-8 回文数BASIC-9 特殊回文数BASIC-10 十进制转十六进制BASIC-11 十六进制转十进制BASIC-12 十六进制转八进制BASIC-13 数列排序二、算法训练ALGO-1 区间k...

薛崇祥的博客 5481

蓝桥杯历届试题 国王的烦恼(并查集逆序加边+坑)

历届试题 国王的烦恼 时间限制:1.0s 内存限制:256.0MB 问题描述   C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。   如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,...

weixin_30598225的博客 85

蓝桥杯历届试题——国王的烦恼(并查集)

问题描述   C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。  如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的桥或者其他的小岛互相到达,他们就会安然无事。但是,如果前一天两个小岛之间还有方法可以到达,后一天却不能到

Beyond the Sora 1267

历届试题 国王的烦恼 (蓝桥杯)

  问题描述  C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。  如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的桥或者其他的小岛互相到达,他们就会安然无事。但是,如果前一天两个小岛之间还有方法可以到达,后一天却不能...

JUST CODE IT 2276

“蓝桥杯”练习系统试题集,题解答案(C/C++)

基础练习 BASIC-1 闰年判断 #include&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; using namespace std; bool f(int x){ if(x%4==0&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a

薛崇祥的博客 7570

蓝桥杯历届试题题解2

又水了一发蓝桥杯

ACdream 885

国王的烦恼+蓝桥算法真题+并查集+java实现之史上最详细图文分析

蓝桥杯 试题 历届试题 国王的烦恼 并查集 蓝桥杯 试题 历届试题 国王的烦恼 并查集 - 走看看 1、解这样的题,也可以有其他的方法,最好的方法就是采用并查集来解。 关于并查集的基本算法的讲解和代码,我们PPT中有。 2、分析题意画示意图: (1)输入: (2)小岛与桥示意图: 但是并查集没有办法表示集合的增加,只能表示集合的减少。 所以我们逆向思维, 从第四天到第三天,集合减少,人民满意度增加(可以过...

julyyy123的博客 249

蓝桥杯---历届真题 题解

试题编号 题解 问题描述 PREV-55 小计算器 模拟 PREV-54 合根植物 并查集 PREV-53 分考场 回溯 PREV-52...

Nicolas的博客 5692
上一篇: 蓝桥杯历届试题 数字游戏(java大数)
下一篇: 牛客 华华开始学信息学(线段树+分块)
ffgcc
博客等级 码龄9年 32粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值