欧拉路HDU3018

欧拉路,欧拉回路,讲的实际上就是一笔画的问题。

给定n个点,m条边,如果能一笔把所有边都连上就是欧拉路,如果起点和终点是同一点,就是欧拉回路。

欧拉路的特征:对于无向图,如果所有点的度都是偶数,那么任意点都可以作为欧拉路的起点;如果存在两个点的度是奇数,其他点的度都是偶数,那么这两个分别作为欧拉路的起点和终点。

  对于有向图,如果每个点的入度和出度相同,一定能形成欧拉路;如果存在两个点的入度和出度是奇数,以这两个点为起点和终点可以形成一条欧拉路。4

  判断给定一个连通图通过几笔能画出来:一笔画能消去两个度为奇数的点,如果没有度为奇数的点,一笔就可以连通。

HDU3018

给定图,多个连通图,孤立的点忽略,不存在反身边(就是自己连自己)。

用并查集记录连通分支,分别计算各个连通分支上需要的笔画数

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int maxn = 100000+10;
 4 
 5 int pre[maxn],de[maxn];
 6 map<int,int>mp;
 7 map<int,int>s;
 8 int n,m,u,v;
 9 int f(int x){return x==pre[x]?x:pre[x]=f(pre[x]);}
10 void mix(int a,int b)
11 {
12     int x=f(a),y=f(b);
13     if(x!=y) pre[x]=y;
14 }
15 int main()
16 {
17     while(~scanf("%d%d",&n,&m))
18     {
19         for(int i=0;i<=n;i++)pre[i]=i;
20         memset(de,0,sizeof(de));
21         while(m--)
22         {
23             scanf("%d%d",&u,&v);
24             mix(u,v);
25             if(u!=v) {de[u]++;de[v]++;}
26         }
27         mp.clear();
28         s.clear();
29         int t=0;
30         for(int i=1;i<=n;i++)
31         {
32            if(tag[i]) t++;
33             else {
34             int p=f(i);
35                 if( de[i]&1 ) mp[p] ++;     //xia biao de  yi yi
36                 if(de[i]) s[p]=1;
37             }
38         }
39         int tot=0;
40         map<int,int>::iterator iter=mp.begin();
41         for(;iter!=mp.end();iter++)
42             tot=tot+iter->second / 2;
43         tot=tot+s.size()-mp.size();
44         cout<<tot<<endl;
45 
46     }
47     return 0;
48 }
View Code

 

转载于:https://www.cnblogs.com/star-and-me/p/6885847.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NeuCF源码中用到的模块(函数)

论文&#xff1a;《Neural Collaborative Filtering》源码中用到的模块&#xff08;函数&#xff09; from keras.layers import Embedding, Input, Dense, merge, Reshape, Merge, Flatten &#xff08;1&#xff09;Input&#xff08;&#xff09;&#xff1a;用于实例化 Ker…

awt jtable 多线程加载图片_Java项目实战之天天酷跑(三):缓冲加载游戏界面

前文&#xff0c;我们完成了开始游戏界面的搭建。本文将实现缓冲加载界面的搭建。并搭建与前面俩界面间的桥梁。实现输入正确用户名密码后&#xff0c;进入开始游戏界面&#xff0c;点击开始游戏按钮后&#xff0c;进入缓冲加载界面的功能。界面示意图&#xff1a;具体要求&…

When Cyber Security Meets Machine Learning 机器学习 安全分析 对于安全领域的总结很有用 看未来演进方向...

链接&#xff1a;http://ucys.ugr.es/jnic2016/docs/MachineLearning_LiorRokachJNIC2016.pdf https://people.eecs.berkeley.edu/~adj/publications/paper-files/SecML-MLJ2010.pdf 一些关键点&#xff1a; 算了&#xff0c;不总结了。 本文转自张昺华-sky博客园博客&#xff…

如何使用TypeScript和Webpack Hot Module Replacement构建Apollo GraphQL服务器

by Derek Fong由德里克方(Derek Fong) 如何使用TypeScript和Webpack Hot Module Replacement构建Apollo GraphQL服务器 (How to build an Apollo GraphQL server with TypeScript and Webpack Hot Module Replacement) Let’s build an Apollo GraphQL Server with TypeScript…

本地修改指向服务器,本地修改指向服务器

本地修改指向服务器 内容精选换一换已获取服务器管理员帐号与密码。打开CMD运行窗口&#xff0c;输入gpedit.msc&#xff0c;打开本地组策略编辑器。打开组策略在指定RD会话主机服务器的授权模式下拉列表中选择按用户。设置允许RD最大连接数位999999。设置结束已断开连接的会话…

JUnit的使用

JUnit的作用(是一个第三方的组件,eclipse带了JUnit) 一个工具&#xff0c;用于单元测试&#xff0c;Java Unit 单元单元&#xff1a;一个类或是一个方法2. 在eclipse中的使用 操作步骤&#xff1a;在工程名上点右键-> Build Path -> add Libraries –> JUnit 测试方法…

乘法运算

无符号mul和有符号imul&#xff0c;在编译的过程中&#xff0c;先尝试将乘法转换成加法 或使用移位指令等周期转移较短的指令&#xff0c;如果都没有才用乘法指令 int main(int argc,char *argv) {int nVarOne argc;int nVarTwo argc;// 变量乘常量 (非2的幂)printf("nV…

leetcode 381. O(1) 时间插入、删除和获取随机元素 - 允许重复

设计一个支持在平均 时间复杂度 O(1) 下&#xff0c; 执行以下操作的数据结构。 注意: 允许出现重复元素。 insert(val)&#xff1a;向集合中插入元素 val。 remove(val)&#xff1a;当 val 存在时&#xff0c;从集合中移除一个 val。 getRandom&#xff1a;从现有集合中随机…

MAYA建模桌面一角_maya怎么建模逼真的学生书桌书桌桌面?

今天我们就来看看使用maya建模学生书桌的方法&#xff0c;这是实例教程&#xff0c;请看下文详细介绍。NURBS曲线的基础知识&#xff1a;NURBS曲面是由网状的曲线组合而成&#xff0c;在maya中可以使用creat菜单下的CV Curve Tool(CV曲线工具)EP Curve Tool(EP曲线工具)来创建曲…

expect 批量修改服务器用户密码

每个技术人员离职&#xff0c;留下的人 就要修改他的服务器账号密码&#xff0c;很麻烦&#xff0c;故写次脚本偷懒 change.sh 如下 12345678910#!/bin/bashfor i in awk {print $1} account.txt dojawk -v l"$i" {if(l$1)print $2} account.txt aawk -v l"$i&q…

虚拟机安装服务器2008,VMware Workstation 虚拟机安装64位windows 2008 R2 系统

偶看现在使用的电脑是 惠普 康柏 Elite 8300 MT Mini Tower&#xff0c;操作系统 Windows 7 旗舰版 64位基本硬件展示处理器 英特尔 第三代酷睿 i5-3470 3.20GHz 四核主板 惠普 3397内存 8 GB ( 记忆科技 DDR3 1600MHz / 镁光 DDR3 1600MHz )主硬盘 西数 WDC WD5000AAKX-60U6A…

黑客入门之单机游戏外挂

转载于: http://www.cnblogs.com/huipengbo/p/6887170.html 一.本文以植物大战僵尸外挂的编写为例&#xff0c;介绍单机游戏外挂的编写和使用过程。 1.启动单机游戏如&#xff1a;植物大战僵尸如下图 2.想明白我们写外挂的目的&#xff1a;让我们有充足的阳光数量来使用&#x…

如何使用浏览器控制台通过JavaScript抓取并将数据保存在文件中

by Praveen Dubey通过Praveen Dubey 如何使用浏览器控制台通过JavaScript抓取并将数据保存在文件中 (How to use the browser console to scrape and save data in a file with JavaScript) A while back I had to crawl a site for links, and further use those page links …

poj2017

1&#xff0e;链接地址 https://vjudge.net/problem/POJ-2017 2&#xff0e;问题描述 Bill and Ted are taking a road trip. But the odometer in their car is broken, so they dont know how many miles they have driven. Fortunately, Bill has a working stopwatch, so t…

NFL原则告诉我们做决策的时候,试图找到一个能解决所有问题,“大而全”的方案是不存在的。我们应当找到最关心的问题,因地制宜做出选择。——聚焦目标,取舍有道!...

资源匮乏原则&#xff1a; 有限的资源无法满足无穷的需要及欲望&#xff1b; 因此想要多一点的某件东西&#xff0c;意味着必须放弃一些其他的东西&#xff1b; 因为资源匮乏&#xff0c;所以我们必须做出选择。 NFL原则&#xff1a;没有免费午餐定理(No Free Lunch)是wolpert和…

巨无霸Win8PE X64服务器维护专用,【13年4月4日】维护版win8pe【32位+64位+纯64位】(支持BIOS+EFI)...

因为单独一个PE是不够用的&#xff0c;已经制作了合盘&#xff0c;可BIOS启动&#xff0c;也可EFI启动。详情移步》欢迎下载使用&#xff0c;觉得好的话&#xff0c;请回帖支持一下&#xff0c;您的支持&#xff0c;就是我的动力。。。。预祝大家新的一年合家欢乐&#xff01;工…

linux子线程运行的函数_Linux中线程使用详解

4. 线程的属性前面还说到过线程创建的时候是有属性的&#xff0c;这个属性由一个线程属性对象来描述。线程属性对象由pthread_attr_init()接口初始化&#xff0c;并由pthread_attr_destory()来销毁&#xff0c;它们的完整定义是&#xff1a;int pthread_attr_init(pthread_attr…

数据源 连接oracle

https://blog.csdn.net/kk185800961/article/details/53065257 转载于:https://www.cnblogs.com/BelieveFish/p/11164009.html

leetcode 140. 单词拆分 II(记忆化)

给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict&#xff0c;在字符串中增加空格来构建一个句子&#xff0c;使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明&#xff1a; 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 …

java mvp开发_如何从没有软件开发技能的想法变成现实的市场MVP?️?

java mvp开发by Mike Williams由Mike Williams 如何从没有软件开发技能的想法变成现实的市场MVP&#xff1f;️&#xff1f; (How to go from idea to live marketplace MVP with no software development skills ?️?) Online marketplaces such as Airbnb, Turo, Hipcamp,…