codeforces E. New Reform (并查集)

CodeForces 659E New Reform (图的遍历判环) Description Berland has n cities connected by m bidirectional roads. No road connects a city to itself, and each pair of cities is connected by no more than one road. It is not guaranteed that y 阅读详情
题目链接:E. New Reform
大意:

n个城市,m条双向路,将这些路改成单向的,如果一个城市没有通向它的路,(入度为0)就说明该城市是单独的。问修改后最少有几个单独的城市,要使结果最小。

思路:

1.可以建成一个有向图,可能有k个联通块,如果一个联通块没有环,就说明这个联通块,至少有一个城市单独的,因此就化成找联通块和环的问题
2.联通块的话可以用并查集来维护,然后用cir[maxn]数组来标记是否有环,如果这个联通块的根节点存在环,那么该联通块不存在单独的城市,如果不存在环的话cnt++,最后的cnt就是答案;

代码:

#include<iostream>
#include<vector>
#include<string>
#include<cstring> 
using namespace std;
typedef pair<int,int> P;
typedef long long ll;
const int N=1e5+5;
int pre[N];
//并查集维护联通块 
int find(int x)
{
    if(x==pre[x])return x;
    return pre[x]=find(pre[x]);
}
int cir[N]; //标记是否有环 
int main()
{
    memset(cir,0,sizeof(cir));
    int n,m,i,j,u,v;
    cin>>n>>m;
    for(i=0;i<=n;++i)
    pre[i]=i;
    int cnt=0;
    for(i=0;i<m;++i)
    {
        cin>>u>>v;
        int x=find(u);
        int y=find(v);
        //相等说明两个在一个联通块里面,而这两个点之间又存在边,说明形成了环。 
        if(x==y)
        {
            cir[x]=1;
        }
        else{
            pre[y]=x;
            //将y的父亲标记成x,那么这个联通块的根节点就变成x
            //那么如果y成环的话,要转移到x上 
            if(cir[y])cir[x]=cir[y];
        }
    }
    for(i=1;i<=n;++i)
    {
        //一个联通块只有一个根节点,如果没成环就++ 
        if(pre[i]==i&&!cir[i])
        { 
            cnt++; 
        }
    }
    cout<<cnt;
    return 0;
 } 
手把手教你用周立功USBCANFD-200U和ZCANPRO软件,从驱动安装到UDS诊断一条龙搞定 本文详细介绍了如何使用周立功USBCANFD-200U硬件和ZCANPRO软件,从驱动安装到UDS诊断的全流程操作指南。涵盖硬件连接、软件配置、CAN通信测试及UDS诊断实战,帮助汽车电子爱好者和工程师快速掌握CAN总线通信技术,实现专业的车辆诊断功能。 阅读详情

相关推荐

【BLE系列-第六篇】GATT解析:属性、特征、描述符的逻辑关系

本文系统介绍了BLE协议中的ATT和GATT机制。ATT以"属性"为基本数据单元,包含UUID、Handle、权限和Value四个要素。GATT则在ATT基础上构建了服务、特征和描述符的层次结构:服务(UUID:0x2800/0x2801)通过声明属性标识,特征声明(UUID:0x2803)指向特征值(UUID:0x2Axx或自定义),描述符(UUID:0x2900~0x290F)提供附加信息。GATT复用ATT发现机制,通过定义特定UUID语义实现服务发现和特征管理。这种设计使BLE设

qq_43399763的博客 1929

cf246 ENew Reform (并查集找环)

Berland has n cities connected by m bidirectional roads. No road connects a city to itself, and each pair of cities is connected by no more than one road. It is not guaranteed that you can get from

AK_HuangYC的博客 1106

UniApp实战:5分钟搞定后台持续定位与轨迹实时更新(附完整代码)

本文详细介绍了在UniApp中实现后台持续定位与动态轨迹地图系统的完整方案。针对物流配送、运动健身等场景,文章深入讲解了权限申请、坐标系选择、定位防抖优化、地图轨迹线(polyline)实时绘制等核心步骤,并提供了可复用的完整代码,帮助开发者高效解决App切后台定位停止、轨迹漂移等常见难题。

weixin_29266679的博客 483

E. New Reform_贪心,深搜,广搜。

E. New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Berland hasncities connected bymbidirectional road...

weixin_33830216的博客 195

ArcGISPro小白必看:5分钟搞定3D地形图制作(附免费数据源)

本文为ArcGISPro初学者提供5步制作专业3D地形图的完整指南,涵盖免费数据获取、项目初始化、数据预处理、3D场景构建和成果输出等关键步骤。特别推荐使用NASA的SRTM高程数据和吉林一号卫星影像,帮助用户快速掌握3D地形图制作技巧,适用于教学演示和科研分析。

weixin_28314575的博客 239

STM32-TIM4-定时器中断

#include "project.h" #include "timer.h" //TIM4_Init(2000 ,72);//定时2ms /* 定时器中断的定时时间设定 定时器只需要配置时钟、TIM和NVIC即可 */ void TIM4_Init(u16 period, u16 prescaler) { NVIC_InitTypeDef NVIC_InitStructure; TIM_...

snaygo 6204

codefoces_#346E - New Reform(并查集或dfs)

E. New Reform time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Berland has n cities connected by m bidirectional roads. No road connects a c

sysu_zjl的博客 753

论文记录:Affine Formation Maneuver Control of Multiagent Systems

多智能体编队控制仿真记录 实现功能:平移/旋转/尺寸缩放/shear,见截图 注意:本仿真图只是起到了演示效果,中间过程速度产生突变,实际中是不允许的。需要进行速度规划,这一点论文中仿真图更为贴合实际。 参考论文:Zhao, S. (2018). Affine Formation Maneuver Control of Multiagent Systems. IEEE Transactions on Automatic Control, 63(12), 4140–4155. 突然发现有个博主写得很好,参考:

W1H1J1的博客 2108

Codeforces Round #346 (Div. 2) E. New Reform

E. New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Berland has n cities connected by m bidirectio

_zidaoziyan的博客 698

C语言实现TCP聊天室:Socket编程与并发模型实战解析

网络编程是构建分布式系统的核心技术,其核心在于理解进程间通信的底层机制。TCP/IP协议栈提供了可靠的字节流传输服务,通过Socket API这一抽象接口,开发者可以在应用层建立连接、收发数据。为了高效处理多个并发连接,服务器需要采用多线程或I/O复用模型,前者为每个连接创建独立线程,逻辑清晰但资源消耗大;后者通过select、poll或epoll等系统调用监控多个文件描述符,显著提升并发能力。这些技术是构建高性能网络服务(如即时通讯、在线游戏服务器)的基础。本文以C语言实现一个简洁的TCP聊天室为例,详细

weixin_32642109的博客 292

45 - Android系统源码-crosvm 实战:基于 KVM 的 Rust 安全虚拟机监控器核心技术

摘要:crosvm 是 Google 开发的基于 KVM 的轻量级虚拟机监控器(VMM),采用 Rust 语言编写,专为 ChromeOS 和 Android 设计。其核心特点包括: 安全架构:通过 Rust 的内存安全特性和多进程隔离(每个设备运行在独立沙箱进程)大幅降低攻击面 性能优化:基于 KVM 的硬件虚拟化支持,结合异步 I/O (io_uring/epoll) 实现高效设备模拟 模块化设计:清晰的 trait 抽象层(Hypervisor/Vm/Vcpu)支持跨平台扩展 Android 集成

保持专注,保持热爱 225

CodeForces 659E New Reform (并查集)

题意:n个点m条边,现在要把这些边变为单向,求没有边连入的最少的点。 题解:并查集 对于并查集,其实就是一棵树,从根节点往下,那么只有根节点没有边连入,但是对于自环来说,并不存在这样的点。所以只要判断一下在构成集合的时候是否存在自环即可,若存在自环,则将根节点标记。 最后答案就是不存在自环的集合数量。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<string> #

gongyuandaye的博客 243

【WebRTC】【Unity】Unity Web RTC1-Unity中简单实现远程画面

平台:基本常用平台包括安卓,苹果(max和IOS),Windows64,Linux都行。10. 注意,如果从移动设备浏览器连接服务,信令服务器的SSL证书一定要先设好。想要在Unity中实现实时远程桌面,找到了Render Streaming这个手段,本篇介绍相应的使用方法和实例。8. 打开电脑浏览器,地址栏输入http://127.0.0.1,点击Receiver Sample。新建Unity项目,模板选Third Person,Project Name随意。启动App,控制台出现如下信息表示成功。

每日出拳老爷子的博客 2518

并查集 - New Reform - CodeForces - 659E

并查集 - New Reform - CodeForces - 659E 题意: 给定一个n个点,m条边的无向图。给定一个n个点,m条边的无向图。给定一个n个点,m条边的无向图。 现要将所有边均改为有向边,若有某个点的入度为0,则认为该点被孤立了。现要将所有边均改为有向边,若有某个点的入度为0,则认为该点被孤立了。现要将所有边均改为有向边,若有某个点的入度为0,则认为该点被孤立了。 计算出最少会有多少个点被孤立。计算出最少会有多少个点被孤立。计算出最少会有多少个点被孤立。 首行输入n,m,表示n个点,m条边

njuptACMcxk的博客 251

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Codeforces 659E New Reform(并查集维护连通块)

题目链接 参考博客 题意 有一些双向边连接的点,现在要把每条边变成单向边,问最少有多少点没有入度 思路 1.可以建成一个有向图,可能有k个联通块,如果一个联通块没有环,就说明这个联通块,至少有一个城市单独的,因此就化成找联通块和环的问题 2.联通块的话可以用并查集来维护,然后用cir[maxn]数组来标记是否有环,如果这个联通块的根节点存在环,那么该联通块不存在单独的城市,如果不存在环的话ans+...

Novice_的博客 338

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Codeforces Round 346 (Div. 2) E. New Reform 题解 并查集

并查集 图论 Codeforces题解 C++代码 附详细注释

一只摸鱼的bbc 1183

STM32F407中文手册

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

Codeforces Round #346 (Div. 2)---E. New Reform--- 并查集(或连通图)

Codeforces Round #346 (Div. 2)---E. New Reform E. New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Berlan...

weixin_30679823的博客 96

Codeforces 659E New Reform 【DFS 求环】

题目链接:Codeforces 659E New Reform E. New Reform time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Berland has n cities connected by m bidirec

世界很大 557

CodeForces - 659E New Reform(无向图找环)

题目链接:http://codeforces.com/problemset/problem/659/E 题意:给一个不一定连通的无向图,问将它变成有向图以后图中最少又多少个单独的点。其中单独的点指的是这个点的入度为0。 思路:就是找出题目给的图中有几个连通图,如果这个连通图有环,答案+1。所以,题目转化成了无向连通图中找环的问题。至于这个,可以用dfs或者并查集都可以做,我用两种方法都试了一下,效...

qq_43423395的博客 252

Codeforces 659E New Reform【DFS】

题目链接: http://codeforces.com/problemset/problem/659/E 题意: 给定n个点和m条双向边,将双向边改为单向边,问无法到达的顶点最少有多少个? 分析: 无法到达的话即入度为0。 DFS判断每一个连通块中是否存在环,如果存在环,就能保证环中每个点的入度都大于等于1。否则,有头有尾,头的入度为0。 代码: ...

An55511的博客 262

codeforces 659 E New Reform

E. New Reform Berland has n cities connected by m bidirectional roads. No road connects a city to itself, and each pair of cities is connected by no more than one road. It is not guaranteed

哇咔咔 1154

codeforces 659E New Reform

E. New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Berland has n cities connected by m bidirectio

EventQueue的博客 1028

New Reform [CodeForces-659E]

题意 有n个点和m条不确定方向的边。 现在要求确定这m条不确定方向的边,使得入度为0的点的个数最少。 输出最小的个数。 分析 如果某个点保证入度&gt;0 那么可以把其它所有连向的点的入度都&gt;0 n,m&gt;=10^5不算特别大,感觉要么O(n)要么O(n log n) 可以一个一个联通块,考虑某一条边的方向,然后跑两次找较小值然后加入答案。 不过方案不能确定。 如...

Umbrella__的博客 396

Codeforces723 E. One-Way Reform (欧拉路径)

题目连接:http://codeforces.com/contest/723/problem/E E. One-Way Reform time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp

blanKey的博客 646

[图中找环] Codeforces 659E New Reform

New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Berland hasncities connected bymbidirectional ro...

dixiangee374493的博客 182
上一篇: B. The Queue (贪心)
下一篇: F. Polycarp and Hay (思维+bfs)
PinappleMi
博客等级 码龄9年 10粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值