题目链接:传送门

思路:

用并查集统计出每个区块奇数个节点的个数x,每个区块对笔画的贡献是max(x/2,1);

然后每个区块求和即可。

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int maxn = *;
int du[maxn],num[maxn],fa[maxn];
int MAX(int x,int y)
{
return x>y?x:y;
}
int f(int x)
{
if(fa[x]==) return x;
else return fa[x]=f(fa[x]);
}
void Init()
{
memset(du,,sizeof(du));
memset(num,,sizeof(num));
memset(fa,,sizeof(fa));
}
int main(void)
{
int n,m,t1,t2,i,j,x,y;
while(~scanf("%d%d",&n,&m)){
Init();
for(i=;i<=m;i++){
scanf("%d%d",&x,&y);
du[x]++;du[y]++;
t1=f(x);t2=f(y);
if(t1!=t2) fa[t2]=t1;
}
for(i=;i<=n;i++)
if(du[i]%) num[f(i)]++; int cnt=;
for(i=;i<=n;i++)
if(fa[i]==&&du[i]) cnt+=MAX(,num[i]/);
printf("%d\n",cnt);
}
return ;
}

LOJ-10108(欧拉回路+并查集)一个图至少用几笔画成的更多相关文章

  1. PAT甲题题解-1126. Eulerian Path (25)-欧拉回路+并查集判断图的连通性

    题目已经告诉如何判断欧拉回路了,剩下的有一点要注意,可能图本身并不连通. 所以这里用并查集来判断图的联通性. #include <iostream> #include <cstdio ...

  2. HDU 1116 || POJ 1386 || ZOJ 2016 Play on Words (欧拉回路+并查集)

    题目链接 题意 : 有很多门,每个门上有很多磁盘,每个盘上一个单词,必须重新排列磁盘使得每个单词的第一个字母与前一个单词的最后一个字母相同.给你一组单词问能不能排成上述形式. 思路 :把每个单词看成有 ...

  3. K - 欧拉回路(并查集)

    点击打开链接 K - 欧拉回路 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是否存在欧拉回路? Input 测试输入包含若干测试用例.每个测试用例的第 ...

  4. HDU-1878 欧拉回路(并查集,欧拉回路性质)

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  5. POJ2513——Colored Sticks(Trie树+欧拉回路+并查集)

    Colored Sticks DescriptionYou are given a bunch of wooden sticks. Each endpoint of each stick is col ...

  6. nyist 42 一笔画 (欧拉回路 + 并查集)

    nyoj42 分析: 若图G中存在这样一条路径,使得它恰通过G中每条边一次,则称该路径为欧拉路径. 若该路径是一个圈,则称为欧拉(Euler)回路. 具有欧拉回路的图称为欧拉图(简称E图).具有欧拉路 ...

  7. UVA - 10129 Play on Words(欧拉回路+并查集)

    2.解题思路:本题利用欧拉回路存在条件解决.可以将所有的单词看做边,26个字母看做端点,那么本题其实就是问是否存在一条路径,可以到达所有出现过的字符端点.由于本题还要求了两个单词拼在一起的条件是前一个 ...

  8. poj 1386 Play on Words门上的单词【欧拉回路&&并查集】

    题目链接:http://poj.org/problem?id=1386 题目大意:给你若干个字符串,一个单词的尾部和一个单词的头部相同那么这两个单词就可以相连,判断给出的n个单词是否能够一个接着一个全 ...

  9. POJ 2513 Colored Sticks (欧拉回路+并查集+字典树)

    题目链接 Description You are given a bunch of wooden sticks. Each endpoint of each stick is colored with ...

随机推荐

  1. WindowsServer2012R2开机进入CMD,关闭后黑屏问题

    原因分析: 因为自己在卸载IIS的时候,不小心卸载了.net framework,系统没有了图形界面(由完整模式Full变为了核心模式core),需要重新恢复.net framework4.5. 解决 ...

  2. ADB server didn't ACK failed to start daemon 5037

    错误信息: C:\Users\lizy>adb devices adb devicesadb server is out of date.  killing... ADB server didn ...

  3. (整理)EF分页的实现

    最近做一个小功能,需要数据分页,因为小框架使用的是EF,因此查询了一下EF的分页. EF分页主要用到了skip和take两个方法: GetListBy(lamda xxxxx).skip(PageSi ...

  4. linux拷贝文件夹cp

    方法就是: cp -r dir dir 如果只是拷贝文件的话直接cp即可

  5. Variables多种表达

    Variables:TF基础数据之一,常用于变量的训练...重要性刚学TF就知道了 1.tf.Variable() tf.Variable(initial_value=None, trainable= ...

  6. 【HQL】小技巧

    case1.a与b匹配表保留一条匹配关系 背景:匹配b,b匹配a在同一张表: match_table表为: uid,m_uid 111,222 222,111 需求:只保留一条匹配关系. 结果为: u ...

  7. WOW

    WOW http://bbs.ngacn.cc/read.php?tid=4992959  http://ngasave.us/popcn/?t=gems  地精科技:国服最流行 http://bbs ...

  8. matlab-可视化图像阈值选择GUI工具

    话不多说,先看图,这是导入一张图后运行的效果. 在此函数中,左图是灰度图加上colorBar后的彩色效果图,右图是二值化后的图,下面是可调节阈值的灰度直方图. 左上角的按钮是回归初始状态,右上角的按钮 ...

  9. 1. redis安装(windows)

    Redis在windows下安装过程 转载自(http://www.cnblogs.com/M-LittleBird/p/5902850.html)   一.下载windows版本的Redis 去官网 ...

  10. <记录> HtmlHelper和 强类型页面

    HtmlHelper  路径生成 <!--普通写法--> <a href="/home/index">超链接</a> <!--利用Url类 ...