题意描述

给你无向图的NNN个点和MMM条边,保证这 条边都不同且不会存在同一点的自环边,现在问你至少要几笔才能所有边都画一遍。(一笔画的时候笔不离开纸)

解析

无向图中,若一个图是连通的,且奇数度个数的点不超过2个时,必定可以一笔画完
否则一笔可以消灭两个奇数度点,所以笔数为奇数度点个数/2
所以考虑所有连通块即可

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=4e5+100;
const double eps=1e-6;
inline ll read(){ll x=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return f*x;
}
int n,m;
struct node{int to,nxt,pre;
}p[N*10];
int fi[N],cnt;
inline void addline(int x,int y){p[++cnt]={y,fi[x],-1};fi[x]=cnt;return;
}
bool vis[N];
int ans,du[N];
void init(){memset(fi,-1,sizeof(fi));cnt=-1;memset(vis,0,sizeof(vis));ans=0;memset(du,0,sizeof(du));
}
int o;
void dfs(int x){vis[x]=1;o+=(du[x]&1);for(int i=fi[x];~i;i=p[i].nxt){int to=p[i].to;if(!vis[to]) dfs(to);}return;
}
int main(){#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);#endifwhile(scanf("%d%d",&n,&m)!=EOF){init();for(int i=1;i<=m;i++){int x=read(),y=read();addline(x,y);addline(y,x);++du[x];++du[y];}for(int i=1;i<=n;i++){if(!vis[i]&&du[i]){o=0;dfs(i);if(o==0||o==2) ans++;else ans+=o/2;}}printf("%d\n",ans);}return 0;
}

LOJ:蚂蚁之旅(欧拉回路)相关推荐

  1. Loj#2460-「POI2010」桥Bridges【网络流,欧拉回路】

    正题 题目链接:https://loj.ac/p/2460 题目大意 给出nnn个点mmm条边的一张无向图,每条边双向的权值不同,求一条经过的最大权值最小的欧拉回路. 2≤n≤1000,1≤m≤200 ...

  2. c语言蚂蚁王国的货币系统,蚂蚁王国的探索之旅

    大自然的鸟语花香.雨雪虫鸣,总能激起孩子们无限遐想和探索欲望.成群结队的小蚂蚁闯入孩子们的生活,草地上.墙脚边.....随处可见小蚂蚁的身影.让我们开启一场快乐而有意义的"蚂蚁王国探秘之旅& ...

  3. LOJ:相框(欧拉回路、分类讨论)

    解析 本题是一道if的板子题 抓住关键:使所有点的度数全变为2 首先对于度数大于2的点,把它分为若干2度点(和可能的一个单点) 现在我们只剩下单点和二度点了 接下来分来讨论一下 若有多个连通块,我们要 ...

  4. kali2020进入单模式_蚂蚁集团技术专家山丘:性能优化的常见模式及趋势

    陈显铭(山丘) 读完需要 6分钟 速读仅需 2 分钟 陈显铭,花名山丘,就职于蚂蚁集团,对分布式应用架构.服务化.性能优化等有深入的理解.参与支付宝支付链路核心系统,设计.调优应用系统关键能力, 高效 ...

  5. AI一分钟 | 豪华太空酒店预计2022年前开业;彭蕾卸任蚂蚁金服董事长,井贤栋接任;京东推出一秒能写千条文案的AI系统

     整理 | 明明 一分钟AI 豪华太空酒店 Aurora Station 预计在 2022 年前开业. 让商品自己写文案,京东推出'莎士比亚'AI系统. 彭蕾卸任蚂蚁金服董事长,井贤栋接任. 国内 ...

  6. 一次“失败”的阿里面试之旅

    2019独角兽企业重金招聘Python工程师标准>>> 11月的时候,第一次,参加了成都蚂蚁金服的面试,前后持续了3个星期,不算特别久...最终虽然面到了终面,hr也见了,但还是以失 ...

  7. 2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

    说起来开始进行面试是年前倒数第二周,上午9点,我还在去公司的公交上,突然收到蚂蚁的面试电话,其实算不上真正的面试.面试官只是和我聊了下他们在做的事情(主要是做双十一这里大促的稳定性保障,偏中间件吧), ...

  8. I - Ant Trip (无向图欧拉回路+并查集),判断

    I - Ant Trip 参考博客:Ant Trip(欧拉回路+并查集) 参考:欧拉路径问题与欧拉回路问题 题意:给你无向图的 N 个点和 M 条边,保证这 M 条边都不同且不会存在同一点的自环边,现 ...

  9. 互联网晚报 | 12月27日 星期一 | 蚂蚁消费金融增资220亿;小米MIUI13正式官宣;《蜘蛛侠3》登顶全球年度票房冠军...

    今日看点 ✦ 华为:今年鸿蒙智联认证设备发货超1亿台,新增合作伙伴超1900家 ✦ 小米MIUI13正式官宣:将于12月28日与小米12系列同台亮相 ✦ 蚂蚁消费金融增资220亿元,新引入中国信达.舜 ...

最新文章

  1. Blender左轮手枪制作教程
  2. 之前遇到一位老面试官,问我的问题真的有点东西
  3. 英国前首相:为什么欧洲没有诞生互联网巨头?
  4. 《C#高级编程》笔记系列第一弹-开篇
  5. 队列的基本操作_如果让你手写个栈和队列,你还会写吗?||CSDN博客精选
  6. 学Java好还是学Python好?这里有些建议
  7. Ajax请求session超时处理流程(DWZ)
  8. Visual Studio 2010 将网站直接发布到远程站点
  9. 数据结构python吕云翔_《数据结构》吕云翔编著第1章绪论习题解答
  10. java中用new创建一个对象的过程解析_【漫画】Java对象的创建和访问全过程详解...
  11. 服务器即将维护完成,新一轮大服务器即将开启:3月26日维护8小时
  12. oracle创建索引后sqlldr导入错误
  13. 李飞飞CVPR最新论文 | 「文本转图」效果优化可多一步:物体关系描述
  14. C和C++ const的声明差异
  15. mysql主从之slave-skip-errors和sql_slave_skip_counter
  16. php5.4安装教程,centos php 5.4 安装教程
  17. 订单页面添加收货地址html,添加收货地址展示
  18. 阿里云部署hexo教程
  19. C# WinAPI 编程详解(一)
  20. du和df命令的区别

热门文章

  1. 为什么一流成功人士的闹钟都定在早晨5:57?
  2. github java开源项目经验_10月份Github上最热门的Java开源项目
  3. matlab菲涅尔衍射_有问必答——SYNOPSYS安装体验课堂——可以设计菲涅尔透镜吗?...
  4. 从mysql读取图片_如何从sql数据库内读取图片
  5. php判断是否是关联数组,php 关联数组判断是否为空
  6. u盘安全删除 linux,为什么要安全删除U盘
  7. 机器学习之模型——保存与加载
  8. 算法设计与分析———动态规划———最大子段和
  9. 7-5 排列的字典序问题 (10 分)(思路加详解全排列问题+vector容器做法)Come Baby!
  10. 「offer来了」2种递进学习思维,24道计网题目,保姆级巩固你的计网知识体系