bzoj1399 Win
状压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相关推荐
- 安装win下的Anaconda ----针对python3.6.4版本
我的python版本是3.6.4, Anaconda下载地址: Anaconda官网:https://repo.anaconda.com/archive/ 清华大学镜像站:https://mirror ...
- linux挂在win共享文件
1.先设置共享文件,再网络中查看,有目录则共享成功 2.yum samba-client (linux系统和win系统共享协议的包) 3.yum install cifs-utils 此外还要安装这个 ...
- win合适做服务器的系统,win系统做云服务器
win系统做云服务器 内容精选 换一换 本节介绍如何查看云服务器的mac地址.云服务器的mac地址不支持修改.登录Linux云服务器.执行以下命令,查看云服务器的mac地址.ifconfig查看MAC ...
- 【坑爹升级】更新NVIDIA GeForce GTX Ti最新驱动,突然屏幕亮瞎我24K钛合金双眼。导致Fn+F2/F3、win+x无法控制笔记本电脑显示器亮度调整, 电源选项屏幕亮度也不见了!
一次手贱更新了上面这个驱动,结果: Fn+F2/F3不能控制亮度 win+X弹出来的下面这个窗口"显示器亮度"不见了 电源选项里面底部"屏幕亮度"也不见了 我研 ...
- 在Win 8.1上安装配置FlashDevelop5.0.0
FlashDevelop是基于.NET框架的开源软件,只能在Windows环境下面运行,相较于Flash CS和FlexBuilder, 它非常轻量级.FlashDevelop只是一个代码编辑器,而不 ...
- 【Ubuntu】安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win?
1.问题描述 安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win? 2.解决方法 1)记住开机选择中windows 10是第几个,从0开始记,如下图本人的是4 ...
- win mysql修改端口号_Windows10系统下查看mysql的端口号并修改的教程图解
mysql的端口号默认是3306,初学者可能有时会忘记或者之前修改了默认的端口号,忘记了,或者很多时候我们一台电脑需要安装两个mysql或者想设置一个自己的喜欢的数字,那么接下来我们来看看如何查看或者 ...
- win设置计算机网络,Win10怎么修改网络类型,Win10网络类型怎么设置?
Win10怎么修改网络类型,Win10网络类型怎么设置?对某件事物越是了解的深入,越是能发现产品的猫腻!比如Win10!因为产品性能没升级多少,但是马甲换的却非常勤快!可能有些朋友会感觉,下面的内容似 ...
- win使用linux共享打印机,Ubuntu 12.04以及 Window 下使用共享打印机
目前针对各个办公室里面都已经配置打印机了,为了节约资源,该打印机想必已经被网管设置成了共享,然而我们应该如何进行使用呢?笔者目前常用的系统是Ubuntu 12.04,偶尔想打印东西的不想切换到XP系统 ...
最新文章
- 向基于Linux的Oracle RAC 10g集群添加新节点
- C#用户权限控制架构,可以控制到类【重发】
- 深入理解Java虚拟机(JVM高级特性与最佳实践java虚拟机)的一些知识总结
- jmeter 压测 RabbitMQ_单机
- 蚊子132 各方人员都“照顾”到位则业务会很乐观
- Android 系统(77)---MVC,MVP,MVVM的区别
- Zabbix 工作原理
- Nginx设置expires设定页面缓存时间
- 问题四十九:怎么用ray tracing画supertoroid(超级圆环)
- hdu 1426(DFS+坑爹的输入输出)
- 新版Android使用微桌面,微桌面是什么?微信正开发安卓“微桌面”
- 一文读懂斗鱼上市:直播江湖风云再起,强行盈利背后的艰难上市路
- CAD图纸、影像地形、倾斜摄影、矢量数据统统搬入图新地球,一键浏览分析
- 2018年博客之星,需要您宝贵的一票!
- 基于微信小程序的教学评价平台设计与实现
- C语言基础学习day04
- php可以发短信的代码,php实现短信发送代码
- CSGO地图制作常见问题
- 怎么在ppt中加入html5,怎样在PPT中插入html网页.ppt
- 第9章 虚拟存储器 学习笔记
热门文章
- AI时代:聊聊大数据中的MapReduce
- 计算机毕业设计SSM城市道路智能停车管理系统【附源码数据库】
- HTML5简介及新特性
- 服务器架设游戏还可以挂网站吗,游戏服务器架设中需要注意的几个要素
- iPad平板电脑程序开发基础规则(源址:http://www.cocoachina.com/bbs/simple/?t82559.html)...
- 人脸识别_人脸识别及其应用
- 快手、知乎等平台严厉打击“病媛”炒作行为:自媒体行业不能被流量裹挟
- Java包(package)的命名规范 规则
- 为什么你没法对标阿里P8,拿高薪,Java架构师技术进阶路线图
- 2022-3-20 Leetcode744. 寻找比目标字母大的最小字母