状压dp,dp[u][s][d]dp[u][s][d]表示集合为ss,胜者为uu,高度不超过dd的方案数。转移的时候枚举uu所在的集合。
注意记录状态的时候需要记录高度,因为只要求保证总高度最小,并不要求局部最小。

#include<cstdio>
#include<algorithm>
using namespace std;
int map[20][20],dp[16][66000][6],vis[16][66000][6],dep[]={0,1,2,3,3,4,4,4,4,5,5,5,5,5,5,5,5},n,m,clo;
int dfs(int u,int s,int sz,int d)
{if (vis[u][s][d]==clo) return dp[u][s][d];vis[u][s][d]=clo;dp[u][s][d]=0;if (sz==1){dp[u][s][d]=1;return dp[u][s][d];}int cnt;for (int s1=s&(s-1);s1;s1=s&(s1-1)){if (!(s1&(1<<u))) continue;cnt=0;for (int i=0;i<n;i++)if (s1&(1<<i)) cnt++;if (max(dep[cnt],dep[sz-cnt])+1>d) continue;for (int i=0;i<n;i++)if (((s^s1)&(1<<i))&&map[u][i])dp[u][s][d]+=dfs(u,s1,cnt,d-1)*dfs(i,s^s1,sz-cnt,d-1);}return dp[u][s][d];
}
void solve()
{clo++;for (int i=0;i<n;i++)for (int j=0;j<n;j++)scanf("%d",&map[i][j]);printf("%d\n",dfs(m-1,(1<<n)-1,n,dep[n]));
}
int main()
{//freopen("d.in","r",stdin);while (scanf("%d%d",&n,&m)==2) solve();
}

bzoj1399 Win相关推荐

  1. 安装win下的Anaconda ----针对python3.6.4版本

    我的python版本是3.6.4, Anaconda下载地址: Anaconda官网:https://repo.anaconda.com/archive/ 清华大学镜像站:https://mirror ...

  2. linux挂在win共享文件

    1.先设置共享文件,再网络中查看,有目录则共享成功 2.yum samba-client (linux系统和win系统共享协议的包) 3.yum install cifs-utils 此外还要安装这个 ...

  3. win合适做服务器的系统,win系统做云服务器

    win系统做云服务器 内容精选 换一换 本节介绍如何查看云服务器的mac地址.云服务器的mac地址不支持修改.登录Linux云服务器.执行以下命令,查看云服务器的mac地址.ifconfig查看MAC ...

  4. 【坑爹升级】更新NVIDIA GeForce GTX Ti最新驱动,突然屏幕亮瞎我24K钛合金双眼。导致Fn+F2/F3、win+x无法控制笔记本电脑显示器亮度调整, 电源选项屏幕亮度也不见了!

    一次手贱更新了上面这个驱动,结果: Fn+F2/F3不能控制亮度 win+X弹出来的下面这个窗口"显示器亮度"不见了 电源选项里面底部"屏幕亮度"也不见了 我研 ...

  5. 在Win 8.1上安装配置FlashDevelop5.0.0

    FlashDevelop是基于.NET框架的开源软件,只能在Windows环境下面运行,相较于Flash CS和FlexBuilder, 它非常轻量级.FlashDevelop只是一个代码编辑器,而不 ...

  6. 【Ubuntu】安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win?

    1.问题描述 安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win? 2.解决方法 1)记住开机选择中windows 10是第几个,从0开始记,如下图本人的是4 ...

  7. win mysql修改端口号_Windows10系统下查看mysql的端口号并修改的教程图解

    mysql的端口号默认是3306,初学者可能有时会忘记或者之前修改了默认的端口号,忘记了,或者很多时候我们一台电脑需要安装两个mysql或者想设置一个自己的喜欢的数字,那么接下来我们来看看如何查看或者 ...

  8. win设置计算机网络,Win10怎么修改网络类型,Win10网络类型怎么设置?

    Win10怎么修改网络类型,Win10网络类型怎么设置?对某件事物越是了解的深入,越是能发现产品的猫腻!比如Win10!因为产品性能没升级多少,但是马甲换的却非常勤快!可能有些朋友会感觉,下面的内容似 ...

  9. win使用linux共享打印机,Ubuntu 12.04以及 Window 下使用共享打印机

    目前针对各个办公室里面都已经配置打印机了,为了节约资源,该打印机想必已经被网管设置成了共享,然而我们应该如何进行使用呢?笔者目前常用的系统是Ubuntu 12.04,偶尔想打印东西的不想切换到XP系统 ...

最新文章

  1. 向基于Linux的Oracle RAC 10g集群添加新节点
  2. C#用户权限控制架构,可以控制到类【重发】
  3. 深入理解Java虚拟机(JVM高级特性与最佳实践java虚拟机)的一些知识总结
  4. jmeter 压测 RabbitMQ_单机
  5. 蚊子132 各方人员都“照顾”到位则业务会很乐观
  6. Android 系统(77)---MVC,MVP,MVVM的区别
  7. Zabbix 工作原理
  8. Nginx设置expires设定页面缓存时间
  9. 问题四十九:怎么用ray tracing画supertoroid(超级圆环)
  10. hdu 1426(DFS+坑爹的输入输出)
  11. 新版Android使用微桌面,微桌面是什么?微信正开发安卓“微桌面”
  12. 一文读懂斗鱼上市:直播江湖风云再起,强行盈利背后的艰难上市路
  13. CAD图纸、影像地形、倾斜摄影、矢量数据统统搬入图新地球,一键浏览分析
  14. 2018年博客之星,需要您宝贵的一票!
  15. 基于微信小程序的教学评价平台设计与实现
  16. C语言基础学习day04
  17. php可以发短信的代码,php实现短信发送代码
  18. CSGO地图制作常见问题
  19. 怎么在ppt中加入html5,怎样在PPT中插入html网页.ppt
  20. 第9章 虚拟存储器 学习笔记

热门文章

  1. AI时代:聊聊大数据中的MapReduce
  2. 计算机毕业设计SSM城市道路智能停车管理系统【附源码数据库】
  3. HTML5简介及新特性
  4. 服务器架设游戏还可以挂网站吗,游戏服务器架设中需要注意的几个要素
  5. iPad平板电脑程序开发基础规则(源址:http://www.cocoachina.com/bbs/simple/?t82559.html)...
  6. 人脸识别_人脸识别及其应用
  7. 快手、知乎等平台严厉打击“病媛”炒作行为:自媒体行业不能被流量裹挟
  8. Java包(package)的命名规范 规则
  9. 为什么你没法对标阿里P8,拿高薪,Java架构师技术进阶路线图
  10. 2022-3-20 Leetcode744. 寻找比目标字母大的最小字母