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. 第10次Scrum会议(10/22)【欢迎来怼】

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华小组照片 二.开会信息 时间:2017/10/22 17:20~17:33,总计13min.地点:东北师范 ...

  2. Python_1

    转载来源:http://www.cnblogs.com/wupeiqi/articles/4906230.html python内部执行过程如下: python解释器在加载 .py 文件中的代码时,会 ...

  3. centos 6 编译emacs-24.5

    yum install `yum deplist emacs | grep provider | awk -F: '{print $2}' | awk '{print $1}' | xargs` yu ...

  4. winform 弹出窗体指定位置

    在启动一个程序时,我们希望窗口显示的位置处于屏幕的正中心,可以如下设置: MainForm mainForm = new MainForm(); mainForm.StartPosition = Fo ...

  5. jQuery之回到顶部

    实现回到顶部的功能,根据学了元素滚动实现,温习知识点. 做之前先理清一下步骤和思路: 1.获得页面的滚动长度 var $page = $("html,body"); var dis ...

  6. PXE推一半失败,HP服务器、曙光服务器删除数据

    一.#设备:惠普HP DL380 Gen9 PXE安装失败,系统尝试从硬盘启动 需要将安装未完整的系统数据删除,以便正常装机 从控制台重启设备 重启后,HP在此界面选择Intelligent Prov ...

  7. i18n实现前端国际化(实例)

    在今日的需求中需要利用 i18n 这个框架来实现前端的国家化操作,下图是实现效果: 点击选择框实现网页上语言的切换: 下面开始实现过程: 所需工具:    - jquery-3.3.1.js 下载地址 ...

  8. HTML常用标签查询

    JAVA开发避免不了要接触前端,所以我不得不从0开始学习前端内容!下面分享我自己总结的HTML常用标签查询代码:将下面代码复制粘贴到文本文档,然后另存为html格式;通过file:///文档保存路径的 ...

  9. bzoj3545-bzoj3551-Peaks

    题意 给出一个图,边有边权,点有点权,每次询问一个点 \(x\) 只走边权小于等于 \(d\) 的边能到达的点中点权第 \(k\) 大. 强制在线,\(n\le 10^5,m,q\le 5\times ...

  10. BZOJ 1853 幸运数字(容斥原理+dfs)

    题意:求闭区间内能被6和8组成的数字整除的数目.n<=1e11. 我们可以预处理出这些6和8组成的数字,大概2500个,然后排除一些如88,66的情况.这样大概还剩下1000个. 转化为[0,r ...