uva11795
这题说的是一个人要消灭 所有的机器人,但是他有他可以消灭的机器人,他可以通过它消灭的机器人的武器去消灭其他的机器人, 给了一个可以消灭的关系的矩阵,计算消灭这些机器人的顺序的不同方案是多少种 , 刚开始以为是方案数 而不是 消灭的顺序wa
我们可以知道dp[S] 这个集合的状态可以从 他的子集来, 枚举他的子集,这样可以从不同的子集来,这样我们每个点子被算一次
首先 要处理每个子集所能 到达的点的情况列举出来 , 进行预处理,得到答案
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string.h>
#include <queue>
using namespace std;
typedef long long ll;
const int maxn=;
int mto[maxn];
ll dp[<<];
char s1[maxn];
int P[<<];
int main(){
int cas;
scanf("%d",&cas);
for(int cc=; cc<=cas; ++cc){
int n;
scanf("%d",&n);
for(int i=; i<=n ; ++i){
scanf("%s",s1);
mto[i]=;
for(int j=; j<n; ++j)
if(s1[j]=='')
mto[i]|=(<<j);
}
for(int S=;S<(<<n) ;++S){
P[S]=mto[];
for(int i=; i<n; ++i)
if(S&(<<i))
P[S]=P[S]|mto[i+];
}
memset(dp,,sizeof(dp));
dp[]=;
for(int S=; S<(<<n); ++S){
for(int i=; i<n; ++i)
if( ( S&(<<i) ) &&( P[S^(<<i)]&(<<i) ) ){
dp[S]+= dp[S^(<<i)];
}
}
printf("Case %d: %lld\n",cc,dp[(<<n)-]); } return ;
}
uva11795的更多相关文章
- UVA11795 Mega Man's Mission
状压dp #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> ...
- 【状压DP】【UVA11795】 Mega Man's Mission
传送门 Description 你要杀n个怪,每杀掉一个怪那个怪会掉落一种武器,这种武器可以杀死特定的怪.游戏初始你有一把武器,能杀死一些怪物.每次只能杀一只,求有多少种杀怪方法. Input 多组数 ...
- [置顶] 刘汝佳《训练指南》动态规划::Beginner (25题)解题报告汇总
本文出自 http://blog.csdn.net/shuangde800 刘汝佳<算法竞赛入门经典-训练指南>的动态规划部分的习题Beginner 打开 这个专题一共有25题,刷完 ...
- dp暑假专题 训练记录
A 回文串的最小划分 题意:给出长度不超过1000的字符串,把它分割成若干个回文字串,求能分成的最少字串数. #include <iostream> #include <cstdio ...
随机推荐
- 查看系统资源使用情况:vmstat
vmstat命令可以动态地查看系统资源的使用情况,如内存/交换分区/CPU的使用情况,通过使用该命令可以判断系统的瓶颈在哪里: [root@localhost ~]$ vmstat 1 5 # 表示每 ...
- easyui 时间定格为 时分
$.fn.datetimebox.defaults.formatter = function (date) { console.log('dt formatting ' + date); if (!( ...
- CentOs 设置静态IP 方法[测试没问题]
首先关闭VMware的DHCP: Edit->Virtual Network Editor 选择VMnet8,去掉Use local DHCP service to distribute IP ...
- Mybatis返回map集合
<resultMap id="pieMap" type="HashMap"> <result property="value&quo ...
- js中replace()方法
str.replace(/Microsoft/g, "W3School");//全局替换 str.replace(/Microsoft/, "W3School" ...
- 《转》python学习--基础上
学习的python本来想自己总结,但是发现了一篇不错的大牛的博客,拿来主义,,又被我实践了 关于前两篇如果总结的不详细,因此把他人的转载过来 http://www.cnblogs.com/BeginM ...
- Cloud Foundry技术全貌及核心组件分析
原文链接:http://www.programmer.com.cn/14472/ 历经一年多的发展,Cloud Foundry的架构设计和实现有了众多改进和优化.为了便于大家了解和深入研究首个开源Pa ...
- JS-检测浏览器类型及版本
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- web图片100%宽度自适应,高度不塌陷
一般在web端图片100%自适应,在页面加载的时候存在高度塌陷的问题 解决这个问题其实很简单,用padding-top设置百分比值来实现自适应,公式如下 padding-top = (Image He ...
- Egret P2 ( 一) 掉落的小球
实际效果(蛋疼这个gif制作软件,帧率太低....): 一 Egret和P2的坐标系 首先了解下P2和Egret的坐标系. 某人链接:http://blog.csdn.net/qilei2010/ar ...