官方题解:直接状压dp就行了,f[S]表示点集S的色数,枚举子集转移(子集是独立集)。这样是3^n的。

这样就可以过了……(独立集就是点互相没有连边)

学到了一个穷举子集的简便写法

for (int j=i; j; j=(j-1)&i)

 #include<bits/stdc++.h>

 using namespace std;
int f[],q[],n,t;
bool v[];
char a[][];
unsigned int d[]; void dfs(int i,int st,bool ff)
{
if (i==n) v[st]=ff;
else {
dfs(i+,st,ff);
if (ff)
{
for (int j=; j<=t; j++)
if (a[q[j]][i]=='') {ff=;break;}
}
q[++t]=i;
dfs(i+,st|(<<i),ff);
t--;
}
} int main()
{
int cas;
scanf("%d",&cas);
d[]=;
for (int i=; i<(<<); i++) d[i]=d[i-]*;
while (cas--)
{
scanf("%d",&n);
for (int i=; i<n; i++)
scanf("%s",a[i]);
int m=<<n;t=;
memset(v,,sizeof(v));
dfs(,,);
for (int i=; i<m; i++) f[i]=n;
f[]=;
for (int i=; i<m; i++)
for (int j=i; j; j=(j-)&i)
if (v[j]) f[i]=min(f[i],f[i-j]+);
unsigned int ans=;
for (int i=; i<m; i++) ans+=d[i]*f[i];
printf("%u\n",ans);
}
}

最新文章

  1. 安装Yeoman,遇到的问题
  2. python 进程间共享数据 (二)
  3. Jade之标签
  4. 001医疗项目-项目框架的搭建(四个maven工程)
  5. 08SpringMvc_(1)继承AbstractCommandController的Action[能够以实体的形式,收集客户端参数].(2)日期转换器和编码过滤器
  6. busying
  7. 用C#来查看电脑硬件和系统信息
  8. dede当前位置各种写法
  9. tomcat 错误查看
  10. 存储过程学习笔记(SQL数据库
  11. java基础(二)-----java的三大特性之继承
  12. jQuery 对象 等操作
  13. 基于mave的dubbo分别架构
  14. Linux 下各个目录的作用及内容
  15. jxl 的详细用法说明
  16. linux系统web站点设置-http基础设置
  17. PHP如何获取本周周二的日期?
  18. C++:delete不完整类型的指针
  19. SQL Server提取字段中的所有数字
  20. ie中input光标问题

热门文章

  1. mysql jdbc 连接url
  2. android 自定义控件---圆形方向盘
  3. [zz]【整理】Python中Cookie的处理:自动处理Cookie,保存为Cookie文件,从文件载入Cookie
  4. C#学习之泛型
  5. (转)史上最好的Python线程指南
  6. Android程序始终横屏
  7. Vs2013 agent 安装
  8. 【51NOD】数据流中的算法
  9. SpringCloud Feign重试详解
  10. hdfs基本思想