#include <iostream>
using namespace std;
//题意:图的欧拉回路或者欧拉通路,通过图中每条边一次且仅一次,并且过每一顶点的通路,要多少画才能完成
//思路:1、若某个连同图的所有节点的度数都是偶数,则需要一笔
// 2、若某个连通图的节点有n个节点度数为奇数,则需要n/2笔
// 3、若某个节点度度数为0, 忽略
#define NSIZ 100010
int parent[NSIZ];
int myrank[NSIZ];
int degree[NSIZ]; //degree[i]表示节点i的度数
int odd[NSIZ]; //odd[i]表示i所代表的连通图的奇数度的节点个数
int connection[NSIZ]; //表示connect[i]表示i代表的连通图
bool flag[NSIZ]; //表示flag[i] = 1表示i已经代表了一个连通图
void make_set(int n)
{
int i;
for(i = 0;i < n; ++i)
{
parent[i] = i;
myrank[i] = 1;
}
}
int find_set(int x)
{
if(x != parent[x])
{
parent[x] = find_set(parent[x]);
}
return parent[x];
}
void union_set(int x, int y)
{
x = find_set(x), y = find_set(y);
if(x != y)
{
if(myrank[x] < myrank[y])
{
parent[x] = y;
myrank[y] += myrank[x];
}
else
{
parent[y] = x;
myrank[x] += myrank[y];
}
}
}
int main()
{
int n, m;
int i, j, x, y, fx, fy;
int len, sum;
while(scanf("%d %d", &n, &m) != EOF )
{
memset(degree, 0, sizeof(degree));
memset(odd, 0, sizeof(odd));
memset(flag, 0, sizeof(flag));
make_set(n);
len = 0;
for(i = 0;i < m; ++i)
{
scanf("%d %d", &x, &y);
degree[x]++;
degree[y]++;
union_set(x, y); //链接x,y
}
for(i = 1;i <= n; ++i)
{
fx = find_set(i); //fx是x的根节点,也是代表连同图的一个节点
if(!flag[fx] && degree[fx] > 0) //只关心degree[x]大于0的节点
{
flag[fx] = 1;
connection[len++] = fx;
}
if(degree[i] % 2 == 1) //查看fx代表连通图中的奇数节点个数
{
odd[fx]++;
}
}
sum = 0;
for(i = 0;i < len; ++i) //查看len个连通图根节点中记录的节点度数情况
{
x = connection[i];
if(odd[x] == 0) //x代表的连通图中奇数度的节点个数为0
{
sum++;
}
else //x所代表连通图中奇数度的的节点数个数为odd[x]
{
sum += odd[x] / 2;
}
}
printf("%d\n", sum);
}
return 0;
}
相关推荐
HDMI2.1 FRL流控 概览
HDMI 2.1 FRL的流控本质是。
HDU 3018 Ant Trip 欧拉路 并查集
HDU 3018 Ant Trip 欧拉路 并查集 开始的时候没有看清题 以为是每个联通图判断欧拉路就行了 #include #include #include #include #include #include using namespace std;//hdu3018 对于联通的图判断奇数度数的个数 如果==0 就+1 就行了 否者 加奇数个数 #defi
Crawl4AI实战:5分钟搞定电商价格监控爬虫(附Python代码)
本文详细介绍了如何利用开源AI网络爬虫框架Crawl4AI快速构建电商价格监控系统。通过Python实战代码,展示了从环境配置、智能内容提取到多平台适配、定时任务与数据可视化的完整流程,帮助运营人员和技术开发者高效实现自动化价格追踪与竞品分析。
HDU 3018 Ant Trip (欧拉路径)
题目地址:HDU 3018 求每个点的度数,对于每个连通分支统计度数为奇数的个数,然后需要的次数就是个数/2。注意对于孤立的点不能算。 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL l
Windows非分页缓冲池内存泄漏实战:PoolMon与RAMMap高效排查指南
本文详细介绍了Windows系统中非分页缓冲池内存泄漏的实战排查方法。当系统出现卡顿且内存占用异常增长时,通过RAMMap工具快速定位非分页缓冲池异常,并利用PoolMon监控内核内存分配标签,精准锁定泄漏源。文章提供了从确认症状、安装工具到使用findstr命令溯源驱动文件的完整五步排查流程,并总结了常见泄漏标签与解决方案,帮助用户高效解决深层系统内存问题。
安卓模拟器绕过检测全解析:雷电、MuMu、蓝叠、逍遥、夜神与WSA完整指南
随着手机游戏和应用的普及,越来越多的用户选择在PC上通过模拟器来运行安卓应用。然而,许多应用和游戏为了防止作弊或出于安全考虑,会检测是否运行在模拟器环境中。本文将详细介绍各大主流模拟器的检测绕过方法,帮助用户在电脑上流畅体验各类安卓应用。1. 获取模拟器系统镜像2. 使用ROM厨房工具修改系统文件3. 替换模拟器的系统镜像雷电模拟器:适合游戏,推荐使用MAGISK + EdXposed方案MuMu模拟器:适合中度游戏,推荐太极框架蓝叠模拟器:适合国际应用,推荐MAGISK方案逍遥模拟器。
hdu3018Ant Trip 几笔画(欧拉通路)
hdu3018Ant Trip Ant Trip Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4939 Accepted Submission(s): 1928 Problem Des...
二阶锥松弛在配电网最优潮流计算中的应用(IEEE33节点配电网最优潮流算例matlab程序)(yalmip+cplex)
文献[7]建立了以支路潮流计算为基础的OPF模型,针对OPF中的非凸性约束,采用SOCR技术将其松弛为二阶锥约束,整个 OPF 模型则被转化为二阶锥规划( Second Order Cone Programming,SOCP)问题,对其求解可以得到全局最优解。其次结合辐射型配电网潮流特点建立支路潮流约束,并考虑配电网中的可控单元,包括分布式电源和离散、连续无功补偿装置,建立其出力约束,该模型为非凸非线性模型;式中,αj,t和βij,t分别为t时段内节点i电压的二次方和支路ij电流的二次方。
hdu3018 Ant Trip 欧拉回路
好久好久没做了。。回顾了一小下 题目链接:here 题意:一笔画。。问最少几笔能画完。。 分析: 如果是个欧拉回路一笔就可以完成,如果是个其它连通集,要根据这个集合的奇度数而定,笔划数=奇度数/2,用并查集来判断有多少个连通集,然后用vector来存这些连通集,通过判断度数是奇偶性来确定是否为欧拉回路;总之笔划数 = 奇度数/2 + 欧拉回路数; 代码: #include #in
低功耗模式下的看门狗使用
最近用国产芯片AT32在做一个低功耗的项目,为了实现低功耗模式下的定时唤醒,我选择的是使用相对比较简单的看门狗来做,下面就分享一下使用过程~ 为了最大限度的降低功耗,我用的是待机模式,先看看几种低功耗模式以及唤醒的区别: 而看门狗AT32提供了两种,分别是独立看门狗(IWDG)和窗口看门狗(WWDG),其区别大概有以下几点: 1、独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效;窗口看门狗由从 APB1 时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常
YOLOv8改进 | 独家创新篇 | 给YOLOv8增加辅助可逆分支结构(PGI,1:1改进)(全网独家创新,附视频讲解)
这张图(图3)展示了可编程梯度信息(PGI)及其相关网络架构和方法。这种网络结构主要用于改进特征融合,以提高目标检测的性能。然而,由于信息瓶颈的存在,网络中可能会丢失一些信息。这是一种旨在减少信息丢失的网络设计。它通过可逆的列结构来尝试维持信息流通不受损失,但如图中“Heavy Cost”所示,这种结构会增加计算成本。c) 深度监督:这种方法通过在网络的多个层次中插入额外的监督信号来提高学习的效率和最终模型的性能。图中显示了通过深度监督连接的各个层。
HDU 3018 Ant Trip【欧拉回路】【经典一笔画问题】
Ant Trip Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4850 Accepted Submission(s): 1907 Problem Description Ant Country consist of N town...
工业产线瑕疵检测:基于 YOLO 的自动化质检系统实战
从工业瑕疵数据集构建到模型训练,从桌面检测界面到产线适用性优化,本文覆盖了一套工业质检系统的完整路线。这个场景的核心评价指标不是最高精度,而是在保证 recall ≥ 0.95 的前提下尽可能压低 false positive——因为漏检的直接成本(客户投诉、质量事故)远高于误报的成本(人工复检)。部署时先设一个偏低的置信度阈值确保覆盖,再通过持续收集人工复检数据来逐步调优。
hdu 3018 Ant Trip (欧拉回路)
Description Ant Country consist of N towns.There are M roads connecting the towns. Ant Tony,together with his friends,wants to go through every part of the country. Input Input contains multip...
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
[HDU3018] Ant Trip
传送门:Ant Trip 题意大概是给定一个图,求出它最少需由几笔画成。若给出的图是欧拉图,那么可由一笔画成;而若给出的是半欧拉图,那么就需要计算奇度顶点的个数(由结论“非(半)欧拉图画成的笔数为该图中奇度顶点数目/2”)。 #include <bits/stdc++.h> #define ll long long #define INF 0x3f3f3f3f using nam...
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
Ant Trip(HDU-3018)
Problem Description Ant Country consist of N towns.There are M roads connecting the towns. Ant Tony,together with his friends,wants to go through every part of the country. They intend to visit ...
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
Ant Trip【hdu 3018】
【题目描述】: 给你无向图的N个点和M条边,保证这M条边都不同且不会存在同一点的自环边,现在问你至少要几笔才能所有边都画一遍。(一笔画的时候笔不离开纸) 【输入描述】: 多组数据,每组数据用空行隔开。 对于每组数据,第一行两个整数N,M表示点数和边数。接下去M行每行两个整数a,b ,表示a,b之间有一条边。 【输出描述】: 对于每组数据,输出答案。 【样例输入】: 3 3 1 2 2 3 1 3 ...
HDU-3018-Ant Trip
HDU-3018-Ant Trip http://acm.hdu.edu.cn/showproblem.php?pid=3018 这道题就是求一个无向图能够最小几笔画的问题,对于每一个连通分图,如果是欧拉回路,一笔可以画成;否则就是奇数次数的点的个数的一半 #include #include #include #include #include using namespace std; in
HDU 3018 Ant Trip 一笔画问题
点击打开链接 Ant Trip Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1110 Accepted Submission(s): 406 Problem Description Ant C
hdu3018 Ant Trip
/*无向欧拉图的欧拉回路存在的充要条件:连通且没有奇点; 欧拉路径存在的充要条件:连通且奇点个数为2*/ #include #include #define MAX 100002 int father[MAX],flag[MAX]; int map[MAX],degree[MAX],odd[MAX]; void init(int n) { int i; memset(flag,0,si
HDU 3018 Ant Trip
题意:n个点m条边,求用几笔可以把所有边画完(画过的边不再画) 思路: 并查集+欧拉回路 对于每个连通分量,若是欧拉回路则一笔画完,若不是则 需要: 奇度数点个数/2 然后把每个连通分量所需的笔数相加 这里要注意一个点是不用画的 #include #include #include #include #include #include #define N 10001
hdu 3018 Ant Trip 一笔画问题
题目链接 题意:给出n个村庄,m条路。Tony和朋友们想遍历所有的路,并且每条路只经过一次。问他们最少要分成几组。 一笔画问题。若一个连通子图的全都是偶节点,则分组+1。若有t个奇节点,则分组+t/2。 欧拉路的判断方法:奇节点的度为2或者0。 注意若一个点没有路与它相连,则不考虑它。 #include #include #include #include #define N 1100
HDU 3018 Ant Trip(欧拉回路)
题目链接:HDU 3018 Ant Trip 一笔画问题,问需要多少笔才能把边画完,如果yige
hdu 3018 Ant Trip 欧拉回路
题目描述:Ant Country consist of N towns.There are M roads connecting the towns. Ant Tony,together with his friends,wants to go through every part of the country. They intend to visit every road , and every
hdu3018 Ant Trip(欧拉道路的性质)
题意:给你一个图,可能不连通,问你需要几笔把所有边不重复的覆盖。 思路:欧拉回路的一个性质: 对于一个连通图而言,有这样的一个性质:其需要画的笔数=度数为奇数的点数除以2,那么由于给出的图并没有说明是否是连通图,我们需要用并查集来维护连通图,并且忽略单点的“子图”。 虽然早先就知道这个性质了,但是还是做了不少时间。还会码力不够。。。 AC Code: #include<ios...
hdu3018Ant Trip
题意: 给一个无向图,n个顶点和m条边,问至少需要几笔才能把所有边 画一遍如果该连通分量是一个孤立的点 不用管. 如果有奇数度的点ji[ ]个 需要ji[]/2 如果只有偶数度的点 只要1笔#include <iostream> #include <cstring> using namespace std;int pre[100005]; int ji[100005],ou[1000
2083



被折叠的 条评论
为什么被折叠?



