hdu5823 (附带数的二进制子集)

二进制数子集的取法,结果不会输出0,且从大到小

            for(int i0 = i;i0;i0=(i0-1)&i)cout<<i0<<endl;   

 

 

题意:

给定一个 N个点的图, 
求它的每一个子图的最小染色数 

染色方法是所有子图中相连接两点颜色不一致

其中 N18

题解:

先状压表示出所有的子集状态,即每个子集取那些点

然后枚举出那些子集是独立集,即没有边相连

然后dp,将每个子集的独立集取出并取min,求出答案

#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
#include <iostream>
#include <map>
#include <queue>
#include <stack>
using namespace std;
#define PF(x) cout << "debug: " << x << " ";
#define EL cout << endl;
#define PC(x) puts(x);
typedef long long ll;
const int maxn = 100000+10;
const int MOD = 1e9+7;
int t,n,inv[1<<20];
char g[30][30];
ll res[1<<20];
int main()
{// freopen("in.txt","r",stdin);cin>>t;while(t--){memset(inv,0,sizeof(inv));scanf("%d",&n);for(int i=0;i<n;i++){scanf("%s",g[i]);//cout<<g[i]+1<<endl;
        }int fg=(1<<n)-1;for(int i=1;i<=fg;i++){for(int j=0;j<n;j++){if((i>>j)&1){for(int k = j+1;k < n;k ++){if(((i>>k)&1)&&g[j][k]=='1'){inv[i]=1;//非独立集标志为1break;}}}if(inv[i])break;}}memset(res,0x3f,sizeof(res));res[0]=0;for(int i=1;i<=fg;i++){for(int i0 = i;i0;i0=(i0-1)&i){//取二进制数子集的方法if(!inv[i0]){res[i]=min(res[i],res[i^i0]+1);//cout<<res[i]<<endl;
                }}}unsigned int res1=1,ans=0;for(int i=1;i<=fg;i++) ans+=(res1*=233)*res[i];//用usigned会自动从0取膜,正好取usigned的数据范围2^32printf("%u\n",ans);}return 0;
}

 

转载于:https://www.cnblogs.com/shimu/p/5762884.html

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

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

相关文章

anaconda如何卸载库_小白必看!Anaconda安装全攻略

本文作者&#xff1a;戴 雯文字编辑&#xff1a;方 言技术总编&#xff1a;张馨月爬虫俱乐部云端课程来袭&#xff01;爬虫俱乐部将于2020年8月25日至28日在线上举行Stata数据分析法律与制度专题训练营&#xff0c;主要是为了让学员掌握Stata软件进阶操作&#xff0c;涉及…

RESTful Web服务可发现性,第4部分

这是有关使用Spring 3.1和Spring Security 3.1和基于Java的配置来建立安全的RESTful Web Service的系列文章的第四篇 。 本文将重点介绍REST API&#xff0c;HATEOAS的可发现性以及由测试驱动的实际方案。 引入REST可发现性 API的可发现性是一个值得引起足够关注的主题&#x…

10位IT领袖给应届毕业生的10条忠告

10位IT领袖给应届毕业生的10条忠告&#xff0c;在走向独立和自主的伟大征程中&#xff0c;吸取他们的经验。 在毕业生们迈出象牙塔之时&#xff0c;他们应该听从哪些人的建议&#xff1f;在走向独立和自主的伟大征程中&#xff0c;他们该吸取哪些教训&#xff1f;听一听各领域…

ubuntu安装好后常用软件安装和配置

1、安装vim sudo apt install vim 安装好后进入路径打开vimrc文件&#xff0c;这里需要注意一定要用sudo不然编辑后无法保存&#xff01; cd /etc/vim sudo vim vimrc 在最下面加入 set nu set ts4 set softtabstop4 set shiftwidth4 set expandtab set autoindent 依次是…

Objective-c 数据类型

这里列出Objective-c中独有数据类型&#xff1a; 一、字符串 在Objective-c中&#xff0c;字符串常量是由和一对从引号括起的字符串序列。比如&#xff1a;"China"、"objective-c"等都是合法的字符串常量。 二、id类型 id类型是Objective-c中一个比较独…

JBoss AS 7 EJB3池配置

现在&#xff0c;AS 7.0.1已经发布&#xff0c;让我们看一下可用的EJB3新功能。 就像我在上一篇文章中提到的那样 &#xff0c;AS 7.0.1现在允许您为无状态会话bean和MDB配置池。 当前&#xff0c;我们允许在子系统级别配置池&#xff0c;这意味着该池将适用于服务器上部署的所…

iOS开发网络篇—文件的上传

说明&#xff1a;文件上传使用的时POST请求&#xff0c;通常把要上传的数据保存在请求体中。本文介绍如何不借助第三方框架实现iOS开发中得文件上传。 由于过程较为复杂&#xff0c;因此本文只贴出部分关键代码。 主控制器的关键代码&#xff1a; YYViewController.m 1 #import…

var模型的matlab实现_Eviews中VAR模型的操作、脉冲响应分析和方差分解的实现

打开文件所在位置&#xff0c;获取数据。选中变量右键open打开var操作EViews,在VAR对象的工具栏中选择“View”|“Lag Structure”|“AR Roots Table/ AR Roots Graph”选项&#xff0c;得到AR根的表和图。结果显示&#xff1a;VAR模型所有根模的倒数都小于1&#xff0c;即都在…

一个程序员的爱情表白书

我能抽象出整个世界 但是我不能抽象出你 因为你在我心中是那么的具体 所以我的世界并不完整 我可以重载甚至覆盖这个世界里的任何一种方法 但是我却不能重载对你的思念 也许命中注定了 你在我的世界里永远的烙上了静态的属性 而我不慎调用了爱你这个方法 当我义无返顾的…

结构体、枚举类型

一、结构体 结构体&#xff1a;就是一个自定义的集合&#xff0c;里面可以放各种类型的元素&#xff0c;用法大体跟集合一样。 1、定义的方法&#xff1a; struct student { public int nianling; public int fenshu; public string name; public string sex; public int sum; …

NXP KW38开发杂记(一)MCUXpress 运行进入NMI_Handler

这里是大佬的具体分析过程&#xff0c;感兴趣可以看看 https://www.cnblogs.com/wenhao-Web/p/13618703.html 解决办法&#xff1a; 在startup_mkw38a4.c文件里&#xff0c;定位到Flash_Config {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE}; 把最后一个参数0xFFFFFFFE改…

25个让Java程序员更高效的Eclipse插件

Eclipse提供了一个可扩展插件的开发系统。这就使得Eclipse在运行系统之上可以实现各种功能。这些插件也不同于其他的应用&#xff08;插件的功能是最难用代码实现的&#xff09;。拥有合适的Eclipse插件是非常重要的&#xff0c;因为它们能让Java开发者们无缝的开发基于J2EE和服…

NXP KW38蓝牙开发(一)入门第一课:官网蓝牙广播和连接例程,NMI禁止

首先要下载开发使用的IDE&#xff1a;MCUXpresso IDE 下载链接&#xff1a; 进入nxp的官网&#xff0c;搜索KW38 向下翻看&#xff0c;找到Xpresso&#xff0c;点击进入 习惯使用IAR开发的同学也可以下IAR版本&#xff0c;这里以Xpresso为例 下载好后安装&#xff0c;一路默…

rough and crude

rough:物理上的粗糙或者说不平&#xff0c;高尔夫球场的生草区 crude:原始、未经加工的那种粗&#xff0c;即没有精加工转载于:https://www.cnblogs.com/dgyw/p/5767078.html

views 多个文件夹 netcore_.NET Core中的使用Kestrel服务器理解及应用

Kestrel是一个基于libuv的跨平台.NET Core web服务器&#xff0c;libuv是一个跨平台的异步I/O库。ASP.NET Core模板项目使用Kestrel作为默认的web服务器。Kestrel支持以下功能&#xff1a;HTTPS用于启用不透明升级的WebSockets位于Nginx之后的高性能Unix socketsKestrel 被.NET…

使用PowerMock测试对象的内部状态

大多数单元测试都集中于测试对象的行为以证明其有效。 这可以通过编写一个JUnit测试来实现&#xff0c;该测试调用对象的公共方法&#xff0c;然后测试这些调用的返回值是否与先前定义的一组期望值匹配。 这是一种非常常见且成功的技术。 但是&#xff0c;不应忘记对象也显示状…

布局

1&#xff09;ul li 把ul宽度设置大一点&#xff0c;然后overflowhidden;&#xff08;最好不要嵌套使用&#xff0c;原因看清除浮动方法&#xff09;&#xff0c;然后外面必须有包裹的div壳&#xff0c;div壳的宽度就按设计稿来&#xff0c;这样就避免了需要给最后一个li设置m…

10个职场故事,让人不得不看

1、强盗师徒 有一次&#xff0c;一个老强盗带着徒弟去抢劫银行&#xff0c;被警方追捕。两人狂逃&#xff0c;差点儿连裤子都跑掉了。好不容易甩掉了警察&#xff0c;两人上气不接下气&#xff0c;瘫倒在地上。 良久&#xff0c;惊魂稍定&#xff0c;徒弟说:“师父啊师父&#…

NXP UWB NCJ29D5开发(一)环境搭建

1、从NXP的共享账号下载资料 共享账号需要找对接的NXP人员拿到&#xff0c;他会把资料分享到这个账号&#xff0c;在这个账号里面可以下载 进入nxp官网&#xff0c;登录后点击my nxp&#xff0c;选择Software Licensing and Support 进入后接着选择View accounts 进入后选择…

西瓜创客python编程进阶收费_西瓜创客和编程猫有什么不同?哪个更值得报名?...

看情况来决定即可&#xff0c;在课程内容上其实出入我觉得不是很大&#xff0c;重点是教学服务、师资、授课模式等&#xff0c;单纯我自己的角度来说&#xff0c;我个人偏向于西瓜创客多一点&#xff0c;他们家的课程更具有趣味性&#xff0c;游戏化教学&#xff0c;融入卡通人…