20个问题(状压dp)
20个问题(状压dp)
有n(<=128)个物体,m(<=11)个特征。每个物体用一个m位01串表示,表示每个特征是具备还是不具备。我在心里想一个物体,由你来猜。你每次可以询问一个特征,然后我会告诉你:我心里的物体是否具备这个特征。当你确定答案之后,就把答案告诉我。如果你采用最优策略,最少需要询问几次就能保证猜到?
设s表示已经询问的特征集,用a来表示确认一个物品具备的特征集,\(d(s, a)\)表示还需询问的最小次数。如果下一个提问的对象是特征k(这就是决策),那么询问次数为:\(max\{d(s+\{k\}, a+\{k\}), d(s+\{k\}, a)\}+1\)。考虑所有的k,取最小值即可。
为什么这样取最大值最小值呢?由于题目要我们能保证猜到,所以万一这个物品没有,万一这个物品有的情况,都要考虑进去,因此里面是max。而又因为题目让我们采用最优策略,在保证猜到的前提下猜最少次数,所以我们要寻找最优的决策,所以外面是min。
代码。。煤油。
20个问题(状压dp)的更多相关文章
- HDU 1565&1569 方格取数系列(状压DP或者最大流)
方格取数(2) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- HDU 4917 Permutation(拓扑排序 + 状压DP + 组合数)
题目链接 Permutation 题目大意:给出n,和m个关系,每个关系为ai必须排在bi的前面,求符合要求的n的全排列的个数. 数据规模为n <= 40,m <= 20. 直接状压DP空 ...
- [NOIP2016]愤怒的小鸟 D2 T3 状压DP
[NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可 ...
- 【BZOJ2073】[POI2004]PRZ 状压DP
[BZOJ2073][POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍 ...
- 【BZOJ1725】[Usaco2006 Nov]Corn Fields牧场的安排 状压DP
[BZOJ1725][Usaco2006 Nov]Corn Fields牧场的安排 Description Farmer John新买了一块长方形的牧场,这块牧场被划分成M列N行(1<=M< ...
- 【BZOJ-1097】旅游景点atr SPFA + 状压DP
1097: [POI2007]旅游景点atr Time Limit: 30 Sec Memory Limit: 357 MBSubmit: 1531 Solved: 352[Submit][Sta ...
- codeforces Diagrams & Tableaux1 (状压DP)
http://codeforces.com/gym/100405 D题 题在pdf里 codeforces.com/gym/100405/attachments/download/2331/20132 ...
- ZOJ3802 Easy 2048 Again (状压DP)
ZOJ Monthly, August 2014 E题 ZOJ月赛 2014年8月 E题 http://acm.zju.edu.cn/onlinejudge/showProblem.do?proble ...
- HDU5816 Hearthstone(状压DP)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5816 Description Hearthstone is an online collec ...
随机推荐
- 三 Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性
Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性 Views(视图函数)逻辑处理,最终是围绕着两个对象实现的 http请求中产生两个核心对象: http请求:HttpRe ...
- vc6++Release和Debug
1. 如何快速地规范代码缩进格式 选中所需要规范的代码,按shift+F8 2. 如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框 ...
- unity破解步骤
1.选择unity的安装目录 C:\Programe Files (x86)\Unity\Editor 2.点击patch 3.使用random生成序列号 4.使用Cre Lic生成授权文件
- redis学习--String数据类型。
本文摘自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/14/2349815.html 一.概述: 字符串类型是Redis中最为基础的数据存 ...
- bzoj 3926: 诸神眷顾的幻想乡 广义后缀自动机
题目: Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给 ...
- 使用Visual Studio进行单元测试-Part1
写在开头:Coding ain't done until all the tests run. No unit test no BB. -------------------------------- ...
- ECMAScript中面向对象的程序设计思想总结
<JavaScript高级程序设计>Chapter6笔记 1.ECMAScript内部值属性:数据属性和访问器属性 1)数据属性 数据属性的4个特性: configurable:表示能否通 ...
- asp.net定时任务
我们这边使用的定时任务框架是Quartz.Net,可以实现异常灵活的定时任务,开发人员只要编写少量的代码就可以实现“每隔一小时执行”.每天22点执行,每月18日下午执行等等各种定时任务. Quartz ...
- Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)
一.Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a ...
- 创建Azure Blob Snapshot的脚本
在前面的文章中介绍了如何创建Azure Blob Snapshot.那篇文章中创建的脚本思路是:遍历所有Storage Account,找到所有vhd文件,进行Snapshot的创建. 但这种方式不够 ...