团体程序设计天梯赛(L2-013 红色警报 (25 分))

中国高校计算机大赛团体程序设计天梯赛考点内容总结(15分以上题) L1: L1-002 打印沙漏 (20 分) 字符模拟 L1-003 个位数统计 (15 分) 字符模拟 L1-005 考试座位号 (15 分) 模拟 L1-006 连续因子 (20 分) 数学因数分解 L1-009 N个数求和 (20 分) 数学gcd,lcm L1-011 A-B (20 分) 字符串模拟 L1-015 跟奥巴马一起画方块 (15 分) 模拟 L1-016 查验身份证 (15 分) 数组模拟 L1-017 到底有多二 (15 分) 数学计算 L1-019 谁先倒 (15 分) 模拟 L 阅读详情

题目:

思路分析:

 第一思路就是并查集吧!

没错相信自己 是不是想到要拆边!(可是并查集并没有这操作呀!

那怎么呢

1.反向建图(这个好实现 就不写了

2.多次更新 和上一次的更新的状态量比较 就是比二者的连通块的数量

数据不大 完全可以实现!

代码实现:

const int MAX=10010;
int vis[MAX];
int fa[MAX];
int find(int x){
    if(x==fa[x]) return x;
    return fa[x]=find(fa[x]);
}
void add(int x,int y){
    int xx=find(x);
    int yy=find(y);
    if(xx==yy) return;
    fa[xx]=yy;
}
struct node{
    int a,b;
}e[MAX];
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=0;i<n;i++)
        fa[i]=i;
    for(int i=0;i<m;i++){
        int u,v;
        cin>>u>>v;
        e[i].a=u;
        e[i].b=v;
        add(u,v);
    }
    int ans1=0;
    int ans2=0;
    for(int i=0;i<n;i++){
        if(i==fa[i])
            ans1++;
    }
    int k;
    cin>>k;
    while (k--) {
        ans2=0;
        for(int i=0;i<n;i++)
            fa[i]=i;
        int x;
        cin>>x;
        vis[x]=1;
        for(int i=0;i<m;i++){
            int a=e[i].a;
            int b=e[i].b;
            if(vis[a]||vis[b])continue;
            add(a,b);
        }
        for(int i=0;i<n;i++)
            if(fa[i]==i)
                ans2++;
        if(ans1==ans2||ans1+1==ans2)
            cout<<"City "<<x<<" is lost."<<endl;
        else cout<<"Red Alert: City "<<x<<" is lost!"<<endl;
        ans1=ans2;
    }
    int num=0;
    for(int i=0;i<n;i++){
        if(i==fa[i])
            num++;
    }
    if(num==n){
        cout<<"Game Over."<<endl;
    }
}

【团体程序设计天梯赛】L1~L2实战反思合集(C++) New:最后那两个长字符串测试点的处理,不要在一开始就将违禁词替换成“<censored>”,而是先替换成“-_-”这样的比较短的字符串,否则违禁词多的时候,不断地改成长替换词,会加重下一次查找操作的负担。此时,我们只要保证生成的过程是“单方向的”,也就是通过递归函数中for的单方向给每个元素赋值,就保证了生成矩阵的唯一性。从而:跑通的次数 = 矩阵的种类数。// 从中序找到根节点,根节点左边就是左子树的中序遍历,得到其长度len,则后序中前len个刚好就是左子树的后序遍历,由此调整区间,重复操作。 阅读详情

相关推荐

PTA团体程序设计天梯赛

PTA团体程序设计天梯赛 有链接部分为完成的,其余未完成 ==================================== L1-001 Hello World 5 L1-002 打印沙漏 20 L1-003 个位数统计 15 L1-004 计算摄氏温度 5 L1-005 考试座位号 15 L1-006 连续因子 20 L1-007 念数字 10 L1-009 N个数求和 20 L1-010 比较大小 10 L1-011 A-B 20 L1-012 计算指数 5 L1-013 计算阶乘

qq_52384627的博客 2828

L2-013 红色警报 (25 分)

战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式: 输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城市信息之后给出被攻占的信息,即一

一只懒猫的博客 2469

GPLT团体程序设计天梯赛题解L2部分

文章目录00xL2-001 紧急救援 (25 分)L2-002 链表去重 (25 分)L2-003 月饼 (25 分)L2-004 这是二叉搜索树吗? (25 分)L2-008 最长对称子串 (25 分)L2-009 抢红包 (25 分)01xL2-010 排座位 (25 分)L2-012 关于堆的判断 (25 分)L2-013 红色警报 (25 分)L2-014 列车调度 (25 分)L2-015 互评成绩 (25 分)L2-016 愿天下有情人都是失散多年的兄妹 (25 分)L2-017 人以群分 (2

优快云 基本不怎么用了,可以关注我的个人博客:https://chensl.me 1354

天梯赛:L2-013 红色警报 (25 分)

题目详情 (pintia.cn) dfs解法:用一个集合记录当前存在哪些城市,然后另一个集合把边存起来。首先用dfs判断图中有多少连通分量,之后把攻占城市之后的连通分量算出来。如果攻占之后的连通分量大于等于攻占之前的连通分量+1,说明破坏了城市的连通性。 本来想挑战最短的代码的。。。可惜水平有限呜呜呜 另一种21分解法也是用集合存起来,判断当前集合相邻的点是否有其他的点相连,如果有就是说明该点连通,否则说明破坏了城市的连通性。但对于下图的情况是无法判断的。当破坏点1、2、3时,实际上分成了两个连通分量

zzhsss的博客 384

L2-013 红色警报 (25 分)

L2-013 红色警报 (25 分) 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式: 输入在第一行给出两个整数N(0 &lt; N ≤ 500)和M(≤ 5000),分别为城市个数(于是...

q852092907的博客 1753

【团体程序设计天梯赛 往年关键真题 详细分析&完整AC代码】L2-011 玩转二叉树(数据结构) & L2-013 红色警报(并查集)

L2-011 玩转二叉树 数据结构 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。 L2-013 红色警报 并查集 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。

Obliviate的博客 636

团体程序设计天梯赛 L2-013 红色警报 (25分)

题目链接: L2-013 红色警报 (25分) 思路: 每失去一个城市,dfs一遍,检查当前的连通块个数,如果比之前多,则需要警报; 代码: #include<bits/stdc++.h> using namespace std; const int maxn = 505; bool lost[maxn], vst[maxn]; vector<int> G[ma...

Yuhan的博客 324

ARM CoreSight架构

CoreSight架构是现代复杂SoC的“飞行数据记录仪”(黑匣子)和“精密诊断仪”的结合体。它彻底改变了嵌入式系统的调试方式,从传统的“盲人摸象”变成了拥有“上帝视角”,是ARM生态系统能够支撑起从微控制器到高性能服务器芯片如此广泛产品线的重要基石技术之一。

guigenyi的专栏 1421

题15.天梯赛训练&2022寒假天梯赛训练-红色警报 (25 分)

文章目录题15.天梯赛训练-红色警报 (25 分)一、题目二、题解 题15.天梯赛训练-红色警报 (25 分) 一、题目 二、题解 并查集的思路是效率最高的,它的基本思路也是从连通集的增加个数出发去判断,当增加个数大于2时才会输出红色警报 /* #include <bits/stdc++.h> using namespace std; int N,M,K; int G[500][500]; map<int,int> m; int visited[500]; voi

Adongua的博客 315

向量数据库:PGVector

PGVector 是一个基于 PostgreSQL 的扩展插件,为用户提供了一套强大的向量存储和查询的功能

m0_37559973的博客 1万+

使用Typora时LaTeX内联公式简单汇总

0、前言 在使用Typora写笔记时,有时候需要添加上LaTeX排版的公式。以下是整理出的一份简单笔记,方便记忆不清楚时查阅。笔记暂时不够完善,之后再补充。 注:有些公式语法KateX不能解析,但在Typora中可以使用(不用在意) 1、一些基本内联公式 位置关系 展示 LaTeX 说明 x2x^{2}x2 x^{2} 右上标 x2x_{2}x2​ x_{2} 右下标 2x{}^{2}x2x {}^{2}x 左上标 2x{}_{2}x2​x {}_{2}x 左下标

白白旧维的博客 4438

天梯赛L2-013 红色警报

分数 25全屏浏览题目切换布局作者 陈越单位 浙江大学战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。

Kyrieeeeeeeee的博客 265

STM32与SD卡SPI接口硬件设计:从原理图到调试的完整指南

SPI(串行外设接口)作为一种广泛应用的同步串行通信协议,以其接线简单、驱动成熟的特点,成为连接微控制器与各类外设的经典方案。其工作原理基于主从架构,通过时钟、数据线和片选信号实现全双工通信,在嵌入式系统中具有极高的技术价值,常用于连接传感器、存储设备和显示模块等。在数据存储场景中,SD卡凭借其大容量和便携性成为首选,而通过SPI模式驱动SD卡,则平衡了性能与设计复杂度。本文聚焦于使用Altium Designer进行硬件设计的工程实践,详细解析了STM32微控制器与SD卡通过SPI通信时,电源管理、上拉电

weixin_34101784的博客 555

团体程序设计天梯赛 L2 题目合集

目前 L1 的题目已经刷完,打算在赛前刷完 L2 的题目。本来想 L2 的题目都写个相对详细的题解的,但是由于时间已经很紧张了,就只能像来记录 L1题目的形式来 L2 的题解了,让我们都好好加油吧。

Veggie的博客 1万+

【PDN仿真笔记9-使用Sigrity PowerDC进行IR Drop仿真的方法】

使用Sigrity PowerDC进行IR Drop进行仿真的方法

qq_42682826的博客 8001

零成本实现飞牛 OS 内网穿透:CloudFlare 隧道搭建全攻略

一、引言:突破内网限制的最优解当你的内网环境中部署了飞牛 OS 系统(无论是老旧电脑还是 NAS 设备),想要实现公网访问时,传统方案往往面临两大痛点:公网 IP 申请困难且成本高DDNS 动态解析配置复杂专业内网穿透工具存在付费门槛今天为大家带来零成本解决方案:通过免费域名搭配 CloudFlare 隧道技术,无需公网 IP 即可轻松实现飞牛 OS 服务的公网访问。全程操作可视化,新手也能快速上手!二、前期准备:必备工具清单(1)域名准备。

Honmaple的博客 7493

团体程序设计天梯赛 L2-013 红色警报

团体程序设计天梯赛 L2-013 红色警报 题目链接 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式: 输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其

旺崽的博客 2560

团体程序设计天梯赛-L2组

团体程序设计天梯赛-L2组

weixin_41801682的博客 2128

Yolov8-pose关键点检测:通用倒瓶颈(UIB)搜索块结合C2f二次创新 | 轻量化之王MobileNetV4

通用倒瓶颈(UIB)搜索块结合C2f二次创新

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 613

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

团体程序设计天梯赛-练习集 L2 阶段全部题解(c/c++版本)

标号 标题 分数 提交通过率 L2-001 紧急救援 25 7808/32856 (23.76%) L2-002 链表去重 25 6263/24874 (25.18%) L2-003 月饼 25 6588/24235 (27.18%) L2-004 这是二叉搜索树吗? 25 4559/13550 (33.65%) L2-005 ...

m0_57006708的博客 3461

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

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

团体程序设计天梯赛L2题解

由于目前网上容易搜索到的PTA-L2题解写法往往较为复杂,难以跟上最新的XCPC风格,比如链式向前星等方法使用STL库更为简单,本人将大二期间写的一些关于L2的代码作收集,方便大家观看~以后会考虑将每题写上题解的,下次一定一定~有些题目当时拿了23/24飘过的就没补,在下面就不放了~有问题欢迎评论区咨询。

2301_76650919的博客 1298

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

团体程序设计天梯赛-练习集-java

团体程序设计天梯赛-练习集-java版本 博客提供题目解析,解题思路,ac代码。 对于无法ac的代码提供相应ac的C++代码

谢谢 啊sir的博客 6121

【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案,题解,附代码

【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案 鉴定完毕,全部水题 ヾ(•ω•`)o 知识点分类(32): 1、树锯结构(9):二叉树的存储,编号,遍历顺序转换,求深度,底层节点,从底部向上搜索公共祖先。多叉树存储,遍历,求深度。 2、图论模板(3):Dijkstra,图的存储遍历,度数统计。 3、其他结构(7):并查集(4)+链表(2)+栈(1); 4、模拟水题(8):好吧大概有一半数据有点坑; 5、零零碎碎(5):STL(2)+贪心(2)+数学(1); 标号 代码提交 题解链接

小哈里的博客 2633

团体程序设计天梯赛-练习集 L2-013 红色警报 (25分) 题目解析 并查集做法

L2-013 红色警报 (25分) 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式: 输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。

秀岩的博客 728

PTA团体程序设计天梯赛L2真题讲解L2-013-016

PTA团体程序设计天梯赛L2真题讲解L2-013-016

2401_87563614的博客 537
上一篇: 团体程序设计天梯赛(L2-012 关于堆的判断 (25 分))
下一篇: 团体程序设计天梯赛(L2-014 列车调度 (25 分))
郭晋龙
博客等级 码龄6年 940粉丝 449原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭晋龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值