http://acm.hdu.edu.cn/showproblem.php?pid=3118

 
题意:删除最少的边使图没有奇环
 
二分图的定义:如果顶点能分为两个互不相交的子集,则图为二分图
二分图的判定:如果二分图能黑白染色成功,则图为二分图
而黑白染色,其实就是判断环是奇环还是偶环
如果是奇环,一定会有黑黑或白白相撞
所以删除最小的边使图没有奇环,就是使图能够黑白染色
也就是删除最少的边,使图变成一个二分图
 
n只有15
完全可以枚举左边有哪些点,右边有哪些点
因为二分图的两个点集互不相交
所以两个点集内部的边数
就是使当前点的分布状态能形成二分图需要删去的边数
 
所有枚举的状态取最小
 
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int e[][];
int a[],b[];
int n;
int solve(int S)
{
a[]=b[]=;
for(int i=;i<n;i++)
if(S&(<<i)) a[++a[]]=i+;
else b[++b[]]=i+;
int r=;
for(int i=;i<=a[];i++)
for(int j=i+;j<=a[];j++)
{
if(i==j) continue;
r+=e[a[i]][a[j]];
}
for(int i=;i<=b[];i++)
for(int j=i+;j<=b[];j++)
{
if(i==j) continue;
r+=e[b[i]][b[j]];
}
return r;
}
int main()
{
int S,T,m,u,v,ans;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
memset(e,false,sizeof(e));
ans=m+;
while(m--)
{
scanf("%d%d",&u,&v);
u++; v++;
e[u][v]++; e[v][u]++;
}
S=<<n;
for(int i=;i<S;i++) ans=min(ans,solve(i));
printf("%d\n",ans);
}
}
 

hdu 3118 Arbiter的更多相关文章

  1. HDU 3118 Arbiter 判定奇圈

    题目来源:pid=3118">HDU 3118 Arbiter 题意:翻译过来就是不能有奇圈 每走一步状态会变化 当他回到起点时假设和原来的状态不一样 可能会死 求至少去掉多少条边能够 ...

  2. hdu 3118(二进制枚举)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3118 思路:题目要求是去掉最少的边使得图中不存在路径长度为奇数的环,这个问题等价于在图中去掉若干条边, ...

  3. poj——3118 Arbiter

      Arbiter 题目描述:      “仲裁者”是<星际争霸>科幻系列中的一种太空船.仲裁者级太空船是神族的战船,专门提供精神力支援.不像其他战船的人员主要是战士阶级,仲裁者所承载的都 ...

  4. 【转载】图论 500题——主要为hdu/poj/zoj

    转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

  5. HDU 5643 King's Game 打表

    King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...

  6. hdu图论题目分类

    =============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...

  7. HDU图论题单

    =============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...

  8. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  9. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

随机推荐

  1. 2017软工 — 每周PSP

    1. PSP表格 2. PSP饼图 3. 本周进度条 4. 累计折线图

  2. 寒假学习计划(C++)

    课程 1,计算机程序设计(C++)-西安交通大学(中国大学mooc)课程链接 2,面向对象程序设计-C++-浙大-翁恺(网易云课堂)课程链接 理由 1西安交大的C++慕课从零基础教起,更注重基础,重点 ...

  3. 软工1816·Alpha冲刺(10/10)

    团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 协助完成前端各个页面的整合 协助解决前端操作逻辑存在的问题 完成前端的美化,使 ...

  4. DescriptionAttribute Class

    指定属性或事件的描述. [Description("The image associated with the control"),Category("Appearanc ...

  5. Redis中的GETBIT和SETBIT(转载)

    Redis是in-memery的数据库,其优势不言而喻.详细可以阅读一下官网的介绍.https://redis.io 其主要有五种数据类型:strings,lists,sets,hashes.在学习到 ...

  6. SSL 重点SSL会话步骤

    SSL.TLS协议 在wiki百科查看下,两者的区别 实现SSL协议的软件 OpenSSL开源软件 SSL会话步骤 1:客户端向服务端索取CA证书,然后验证证书   2:客户端与服务端约定一个通信中使 ...

  7. 基于图形学混色问题OpenGl的收获

    void myDisplay(void) {glClearColor(0.0f,0.0f,0.0f,1.0f); glClear(GL_COLOR_BUFFER_BIT); glEnable(GL_B ...

  8. Matlab中TCP通讯-实现外部程序提供优化目标函数解

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Matlab中TCP通讯-实现外部程序提供优化目标函数解     本文地址:http://te ...

  9. 结对编程——paperOne基于java web的简易四则运算出题网站

    项目成员:张金生     张政 需求分析: 1.要进行四则运算: 2.运算题目随机: 3.进行对错判断: 4.整数运算. 程序概要: 1.用JSP实现: 2.用户可选择题目数量: 3.答题页用表格列出 ...

  10. [翻译]API Guides - Bound Services

    官方文档原文地址:http://developer.android.com/guide/components/bound-services.html 一个Bound Service是一个客户端-服务器 ...