FZU 2112 Tickets
这个问题可以转变一下,先要知道有几个连通块,连通块之间肯定需要添加一条边,
还需要知道每个连通块内部需要添加几条边,这个问题等价于求一张图至少需要几笔画成,这个问题的答案是度为奇数的点的个数/2
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<algorithm>
using namespace std; const int maxn=+;
int T;
int n,m;
vector<int>G[maxn];
int tot[maxn];
bool flag[maxn];
bool flag2[maxn];
int q[maxn],sum;
int ans; void init()
{
ans=;
memset(tot,,sizeof tot);
memset(flag,,sizeof flag);
memset(flag2,,sizeof flag2);
} void read()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++) G[i].clear();
for(int i=;i<=m;i++)
{
int u,v; scanf("%d%d",&u,&v);
tot[u]++;tot[v]++;
flag2[u]=;flag2[v]=;
G[u].push_back(v);
G[v].push_back(u);
}
} void dfs(int now)
{
flag[now]=; q[sum++]=now;
for(int i=;i<G[now].size();i++)
if(!flag[G[now][i]])
dfs(G[now][i]);
} void work()
{
for(int i=;i<=n;i++)
{
if(!flag[i]&&flag2[i])
{
sum=; ans++; dfs(i);
int tmp=;
for(int j=;j<sum;j++) if(tot[q[j]]%==) tmp++;
ans=ans+(tmp-)/;
}
}
ans--;
printf("%d\n",ans);
} int main()
{
scanf("%d",&T);
while(T--)
{
init();
read();
work();
}
return ;
}
FZU 2112 Tickets的更多相关文章
- ACM:   FZU 2112 Tickets - 欧拉回路 - 并查集
		FZU 2112 Tickets Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u P ... 
- FZU 2112 并查集、欧拉通路
		原题:http://acm.fzu.edu.cn/problem.php?pid=2112 首先是,票上没有提到的点是不需要去的. 然后我们先考虑这个图有几个连通分量,我们可以用一个并查集来维护,假设 ... 
- FZU 2137 奇异字符串  后缀树组+RMQ
		题目连接:http://acm.fzu.edu.cn/problem.php?pid=2137 题解: 枚举x位置,向左右延伸计算答案 如何计算答案:对字符串建立SA,那么对于想双延伸的长度L,假如有 ... 
- FZU 1914 单调队列
		题目链接:http://acm.fzu.edu.cn/problem.php?pid=1914 题意: 给出一个数列,如果它的前i(1<=i<=n)项和都是正的,那么这个数列是正的,问这个 ... 
- ACM: FZU 2105  Digits Count - 位运算的线段树【黑科技福利】
		FZU 2105 Digits Count Time Limit:10000MS Memory Limit:262144KB 64bit IO Format:%I64d & ... 
- POJ2828 Buy Tickets[树状数组第k小值 倒序]
		Buy Tickets Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 19012 Accepted: 9442 Desc ... 
- ACM: FZU 2107 Hua Rong Dao - DFS - 暴力
		FZU 2107 Hua Rong Dao Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I6 ... 
- ACM:  FZU 2102   Solve equation - 手速题
		FZU 2102 Solve equation Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & ... 
- ACM: FZU 2110  Star - 数学几何 - 水题
		FZU 2110 Star Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Pr ... 
随机推荐
- 初探JavaScript魅力(二)
			行为,样式,结构三者分离(javascript, css, html),不要在行间加行为,样式 样式优先级:*<标签<class<ID<行间 style与className,如 ... 
- HDU4325--Flowers--树状数组,离散化
			Description As is known to all, the blooming time and duration varies between different kinds of flo ... 
- HDU 5323 DFS
			DFS Time Limit : 5000/2000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissio ... 
- JspWriter与PrintWriter的关系
			一.JspWriter与PrintWriter的关系: 1.都是继承自java.io.Writer类. JspWriter可以在JSP页面中直接用out对象输出.可以用pageContext.getO ... 
- CSS3简介
			选择器 盒模型 背景和边框 文字特效 2d/3d转换 动画 多列布局 用户界面 
- php截取中文字符串,英文字符串,中英文字符串长度的方法
			今天学习了php函数截取中文字符串,英文字符串,中英文字符串的函数使用方法.对中英文截取方法不理解,此处先做记录. PHP自带的函数如strlen().mb_strlen()都是通过计算字符串所占字节 ... 
- s5pv210 AD转换
			1:ADC:Analog-to-Digital Converter,模拟信号转数字信号,自然界一般为模拟信号,而SoC需要数字信号,所以之间通信需要ADC. 2:转换原理: 以逐次逼近式AD转换为例: ... 
- P3414 SAC#1 - 组合数
			题目背景 本题由世界上最蒟蒻最辣鸡最撒比的SOL提供. 寂月城网站是完美信息教室的官网.地址:http://191.101.11.174/mgzd . 题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数 ... 
- C#实现拷贝对象
			大家都知道,在C#中变量的存储分为值类型和引用类型两种,而值类型和引用类型在数值变化是产生的后果是不一样的,值类型我们可以轻松实现数值的拷贝,那么引用类型呢,在对象拷贝上存在着一定的难度. 下 ... 
- Processes and Threads  (转)
			http://www.cnblogs.com/xitang/archive/2011/09/24/2189460.html 原文 http://developer.android.com/guide/ ... 
