题目大意
洛克人有一个武器,它需要按照一定的顺序消灭n个其他的机器人,每消灭一个机器人将会得到他的武器,而且某些机器人只能用特定的武器才能将其消灭。统计出可以消灭所有机器人的顺序总数.
分析
由于题目中给定的n值很小可以采用状压Dp,用二进制的每一个位来表示每一个机器人
我们可以构成一个集合q表示消灭i后,获得武器可以消灭的敌人q(i);

     for (int i = 0; i <=n; i++) {cin >> ch;for (int j = 0; ch[j]!='\0'; j++){val = ch[j] - '0';if (val)  q[i] |= (1 <<j);}}

我们用数组state保存消灭若干个机器人后可以消灭的敌人,只需要枚举结合就可
初始状态设为去q[0]表示洛克人的武器起初就有

         for (int s = 0; s < (1 << n); s++) {state[s] = q[0];for (int j = 0; j < n; j++)if ((1 << j)&s)    state[s] |= q[j+1];    ;}

最后通过在集合的帮助下就可以就算顺序了

     d[0]= 1;for (int s = 1; s < (1 << n); s++) {d[s] = 0;for (int j = 0; j < n; j++) {if (((1<<j)&s) && (state[s ^ (1 << j)] & (1 << j)))d[s] += d[s ^ (1 << j)];}}

UVA e 11795 洛克人的难题相关推荐

  1. uva 11795洛克人的难题(集合dp)

    题意:给定一个初始武器,可以消灭编号1-i的人 每消灭一个机器人,获得其武器. 求总共可以有多少种方法消灭所有的机器人. 思路很简单,集合的动态规划,但要注意的是,由于16!会爆int,所以ans要用 ...

  2. uva 11795 洛克人的难题

    非常好的题目 题意:给定一个初始武器,可以消灭编号1-i的人 每消灭一个机器人,获得其武器. 求总共可以有多少种方法消灭所有的机器人 状态描述:    State[i]  在已经消灭了i二进制表示的机 ...

  3. uva 11795 - Mega Man's Mission 洛克人的难题 基础集合动态规划

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  4. UVa 11759 洛克人的难题 状压dp

    题意: 你最初只有一个武器,你需要按照一定的顺序消灭n个机器人(n<=16).每消灭一个机器人将会得到他的武器.每个武器只能杀死特定的机器人.问可以消灭所有机器人的顺序方案总数. 分析: 基础的 ...

  5. A Dicey Problem 骰子难题(Uva 810)

    题目描述:https://uva.onlinejudge.org/external/8/810.pdf 把一个骰子放在一个M x N的地图上,让他按照规定滚动,求滚回原点的最短路径. 思路:  记忆化 ...

  6. UVa 1354 天平难题 枚举二叉树

    题意:给出房间宽度 r 和 s 个挂坠的重量 wi,设计一个尽量宽的天平,挂着所有挂坠.天平由一些长度为 1 的木棍组成,木棍的每一端要么挂一个挂坠,要么挂另外一个木棍. 这题卡了很久,看了很多大神的 ...

  7. Ananagrams(sort+map) UVA - 156 统计字谜

    Ananagrams(sort+map) UVA - 156 统计字谜 Most crossword puzzle fans are used to anagrams - groups of word ...

  8. UVa在线比赛单题汇总-----DP专题

    动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...

  9. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

最新文章

  1. 三体人有救了,只要等得够久就会有一个太阳被甩出去
  2. HDU 1671 Phone List
  3. 关于SSIS中解密数据库字符串的方法
  4. 大话设计模式(十四 设计模式不能戏说!设计模式怎就不能戏说?)
  5. git config命令入门
  6. poj 1068 Parencodings
  7. 电脑排行榜笔记本_热门笔记本电脑排行榜推荐_windows7教程
  8. 腕能助手android9,腕间应用助手(com.gmf.watchapkassistant) - 1.7 - 应用 - 酷安
  9. 电力-101/104规约基础2
  10. 黑苹果部分usb、摄像头以及dw1560(BCM94352Z)蓝牙无法识别问题的解决方法
  11. Little_Women6.txt
  12. Java中判断两个Date是否是同一天
  13. 分析称微软中国市场营收低或是梁念坚离职主因
  14. 5款高效软件推荐,每一款都是良心之作
  15. Vue3 组件示例工程(二) —— AQI组件
  16. 10句狠话,教你用英语发泄不满情绪(可可英语)
  17. html div 内部居中。
  18. Mongodb 求和
  19. RabbitMQ原理名词解释
  20. MALTAB之stem函数

热门文章

  1. 24位深的bmp图片转换为16位深RGB565格式的bmp图片源码
  2. 前端实现动画效果的几种方式(有实例)
  3. linux平板 开发程序,嵌入式Linux工业平板电脑开发详解
  4. Ubuntu 18.04 Linux内核升级(因为在系统中安装会出现各种驱动不兼容的问题,所以去官网下)
  5. Android源码开发笔记 WWAN Carrier config的修改
  6. 学画画应该如何去临摹?画画临摹的方法有哪些?
  7. 母亲节到了,你想对妈妈说什么?Yomail把这20句话献给最特别的她
  8. 与开发票相关的一种信息化应用
  9. Android中获取屏幕物理尺寸的方法
  10. 梅科尔工作室-赵赟-鸿蒙笔记3