[福建集训2011][LOJ10111]相框

这题主要还是分类讨论欧拉回路

首先对于导线一端没有东西的新建一个节点 由于原图不一定连通所以需要用到并查集判断有多少个连通块 将一条导线连接的两个焊点连接

然后先对于只有一个连通块考虑

1.如果一个焊点是孤立点 它对于导线无影响跳过

2.如果一个焊点度数大于2 它必须被烧熔

3.对于每两对奇点 它们必须相连 这样才满足欧拉回路

对于一个连通块处理后考虑多个连通块,必须把他们组合在一起

1.同样忽略孤立点

2.如果原图是一个环

需要找到一个点将其烧熔,才能继续组合

但其中若有焊点度数大于2,那么它本身已经被烧熔了所以可以略去此步

最后每个连通块向外和另一连通块连接一根导线就组装好了

3.原图有链 这种情况下只要将一对奇点向外连就好了 当然对于程序来说就是无需考虑有链的连通块连接的答案,以为这之前单个处理已经统计过了

#include<bits/stdc++.h>
using namespace std;
const int maxn=101005;
int tot,ans,n,m,a,b,cnt;
int d[maxn],flag1[maxn],flag2[maxn],fa[maxn];
int read()
{int ch=0,x=0;while(ch=getchar(),ch<'0'||ch>'9');while(x=x*10+ch-48,ch=getchar(),ch>='0'&&ch<='9');return x;
}
int getfa(int x){return fa[x]==x?x:fa[x]=getfa(fa[x]);}
void conn(int x,int y)
{int fxx=getfa(x),fyy=getfa(y);if(fxx!=fyy)fa[fxx]=fyy;
}
int main()
{n=read();m=read();for(int i=1;i<=n;i++)fa[i]=i;for(int i=1;i<=m;i++){a=read();b=read();if(!a) a=++n,fa[a]=a;if(!b) b=++n,fa[b]=b;conn(a,b);d[a]++;d[b]++;}for(int i=1;i<=n;i++){if(!d[i])continue;if(d[i]&1){cnt++;flag1[getfa(i)]=1;}if(d[i]>2){ans++;flag2[getfa(i)]=1;}}for(int i=1;i<=n;i++)if(getfa(i)==i&&d[i])tot++;if(tot>1){for(int i=1;i<=n;i++)if(getfa(i)==i&&d[i]&&!flag1[i]){ans++;if(!flag2[i])ans++;}}ans+=cnt/2;printf("%d",ans);return 0;
}

转载于:https://www.cnblogs.com/DavidJing/p/10386798.html

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

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

相关文章

TJpgDec—轻量级JPEG解码器

TJpgDec—轻量级JPEG解码器 本文由乌合之众lym瞎编&#xff0c;欢迎转载blog.cnblogs.net/oloroso 下文中解码一词皆由decompression/decompress翻译而来。 TJpgDec是一个为小型嵌入式系统高度优化的创建JPEG图像的解码模块。它工作时占用的内存非常低&#xff0c;以便它可以集…

帮助中心 开源_对开源的贡献帮助我获得了Microsoft的实习机会。 这就是它可以为您提供帮助的方式。

帮助中心 开源“Accomplished X by implementing Y which led to Z.” “通过实现导致Z的Y来完成X。” When I interviewed for software engineering internships this past fall, my open source contributions helped me stand out from the crowd.去年秋天&#xff0c;当我…

java 操作窗口_java selenium (十二) 操作弹出窗口

public static void testMultipleWindowsTitle(WebDriver driver) throws Exception{String url"E:\\StashFolder\\huoli_28hotmail.com\\Stash\\Tank-MoneyProject\\Selenium Webdriver\\AllUIElement.html";driver.get(url);// 获取当前窗口的句柄String parentWin…

1970“变种”bug连WiFi热点iOS设备会变砖?

据悉&#xff0c;该漏洞和此前“1970”的bug有关系&#xff0c;但不完全一样。 威锋网讯&#xff0c;你还记得将 iOS 设备系统时间调至 1970.1.1 会让设备变砖的 bug 么&#xff1f;尽管苹果在 iOS 9.3 中已经将这个 bug 修复&#xff0c;但据安全研究员指出&#xff0c;他们发…

Centos7 安装python3.7.2

下载python3.7.2源码 wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz 下载完后对压缩包解压缩 tar -xf Python-3.6.3.tgz 进入解压缩完后的文件夹: cd Python-3.7.2 配置&#xff08;需要加上--with-ssl&#xff0c;不然pip不能安装相关函数库&#xff0c;pyt…

华为 9

package NiukeBrush; import java.util.Iterator; //排序与查重 import java.util.LinkedHashSet; import java.util.Scanner; import java.util.Set;//改进做法 public class Huawei9next {public static void main(String[] args) {// TODO Auto-generated method stub//键盘…

印刷点阵字体_印刷术如何确定可读性:衬线与无衬线,以及如何组合字体。

印刷点阵字体by Harshita Arora通过Harshita Arora For digital design, it’s important to know and understand how to use and how to combine different fonts. There’s a font for every mood!对于数字设计&#xff0c;重要的是了解和理解如何使用以及如何组合不同的字…

java中setattribute_浅谈Java web 中request的setAttribute()用法

在两个JSP代码片中有这样两端程序&#xff1a;JSP1代码String [] testnew String[2];test[0]"1";test[1]"2";request.setAttribute("test",test) ;response.sendRedirect("jsp2.jsp");JSP2代码String test[](String[])request.getAttr…

基础拾遗------webservice详解

基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗------接口详解 基础拾遗------泛型详解 基础拾遗-----依赖注入 基础拾遗-----数据注解与验证 基础拾遗-----mongoDB操作 基础…

南京打造大数据创新孵化平台

9月9日上午&#xff0c;南京微软云暨移动应用孵化平台在南京开发区新港高新园揭牌运营&#xff0c;项目创业大赛同步启动。 据悉&#xff0c;南京微软云暨移动应用孵化平台将打造以“云物大智”产业为核心的创新创业孵化平台。平台代理总经理童雪松介绍&#xff0c;平台汇集了强…

react控制组件中元素_React Interview问题:浏览器,组件或元素中呈现了什么?

react控制组件中元素by Samer Buna通过Samer Buna React Interview问题&#xff1a;浏览器&#xff0c;组件或元素中呈现了什么&#xff1f; (React Interview Question: What gets rendered in the browser, a component or an element?) **技巧问题** (** Trick Question *…

java gc时自动收dump_Full GC分析:设置Java VM参数实现在Full GC前后自动生成Dump

本文讲解了如何设置JavaVM参数实现在FullGC前后自动生成Dump。共有三个VM参数需要设置&#xff1a;HeapDumpBeforeFullGC 实现在Full GC前dump。HeapDumpBeforeFullGC 实现在Full GC后dump。HeapDumpPath 设置Dump保存的路径设置这些参数的方法&#xff0c;这里总结了四种&…

jquery插件dataTables自增序号。

dataTables官网提供了一种方式&#xff0c;使用后没有达到预期效果&#xff08;js报错&#xff09;&#xff0c;没有深究原因。如果需要&#xff0c;可以按照下面的方式来。 1 $(#dataList).dataTable({2 "language": {3 "sProcessing&…

Maven使用详解

1、maven介绍&#xff1a; 2、pom.xml文件理解&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schema…

诺基亚报告称:到2020年北美电子邮件流量占比将跌至7%

日前&#xff0c;诺基亚贝尔实验室下属贝尔实验室咨询部门&#xff08;Bell Labs Consulting&#xff09;发布研究报告称&#xff0c;在北美&#xff0c;千禧一代青少年和青壮年消费群体正逐渐壮大&#xff0c;受其驱动的视频通信流量占比将由47%增至86%。随着视频通话和视频会…

开源贡献 计算_我的第一个Hacktoberfest-第一次为开源做贡献的经验

开源贡献 计算by Sibylle Sehl通过Sibylle Sehl 我的第一个Hacktoberfest-第一次为开源做贡献的经验 (My First Hacktoberfest — Experiences of Contributing to Open Source as a First Timer) Contributing to Open Source and projects can seem like a daunting process…

java web junit_如何使用junit测试javaweb工程

一:创建一个测试类,建议将测试类单独放在一个包中(在 maven 项目里有测试类专门的存放位置),新建一个Junit Test Case类,下一步 测试类的命名建议是你将要测试的类名Test,然后点 Browse, 你可以选择要进行测试的类(一般选择 Service, 因为 Service 关心的是业务需求),用这种方式…

文件系统及程序的限制关系: ulimit

想像一个状况&#xff1a;我的 Linux 主机里面同时登陆了十个人&#xff0c;这十个人不知怎么搞的&#xff0c; 同时打开了 100 个文件&#xff0c;每个文件的大小约 10MBytes &#xff0c;请问一下&#xff0c; 我的 Linux 主机的内存要有多大才够&#xff1f; 1010010 10000…

java代码_Java 代码实现排序算法

阅读本文约需要8分钟 大家好&#xff0c;我是你们的导师&#xff0c;我每天都会在这里给大家分享一些干货内容(当然了&#xff0c;周末也要允许老师休息一下哈)。上次老师跟大家分享了下SpringBootGradle MyBatisPlus3.x搭建企业级的后台分离框架的相关知识&#xff0c;今天跟大…

移动游戏市场Testin云测占有率超过90%

《王者荣耀》、全民K歌、美团大众、共享单车……越来越多的爆款应用占据着我们的手机桌面&#xff0c;也驱动着创业者不断发掘新的移动应用和商业模式&#xff0c;却鲜有人留意到&#xff0c;由移动应用催生出来的APP测试市场。 “现在用户获取成本是几年前的几十倍&#xff0c…