【Codeforces 98E】 Help Shrek and Donkey 游戏策略神题
from http://www.cnblogs.com/MashiroSky/p/6576398.html
A君有n张牌,B君有m张牌,桌上还有一张反扣着的牌,每张牌都不一样。
每个回合可以做两件事中的一件
- 猜测桌上的牌是什么,猜对则胜,猜败则输。
- 询问对方是否有某张牌,若有则需要将其示出,否则继续游戏。
A和B都很聪明,问A的胜率。
Solution
首先不到最后一刻是不会选择猜桌上的牌的。
假如某一次对方问了一张自己手上没有的牌,就可能会怀疑桌上的牌就是这张。
而询问对方是否有某张牌,我们可以选择询问自己手上有的牌,假如对方相信而去猜测这张牌的话就会输掉,我们称这样的行为作欺骗。
记f(n,m)f(n,m)表示先手有nn张牌,后手有mm张牌,先手的获胜概率。
那么就可以列一个表格,表示先手的选择以及后手的应对。
先手选择猜测对方的牌
- 后手认为先手在猜测,先手获胜的概率是mm+1(1−f(m−1,n))mm+1(1−f(m−1,n))
- 后手认为先手在欺骗,先手获胜的概率是1m+1+mm+1(1−f(m−1,n))1m+1+mm+1(1−f(m−1,n))
先手选择欺骗
- 后手认为先手在猜测,先手获胜的概率是11
- 后手认为先手在欺骗,先手获胜的概率是1−f(m,n−1)1−f(m,n−1)
那么对于先手的任意一个策略,后手会选择最优的策略去使他赢的概率尽可能小。也就是说假如先手用pp的概率选择去猜测,1−p1−p的概率选择去欺骗。那么最终的贡献就是
将pp视为自变量,问题就转化为两条直线取minmin的问题,求个交点就可以得到最大值。
细节
直线的交点别求错了。。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
首先这个思路不太好想
其次在状态转移时,注意先手是可以两种决策随便选,故存在概率;而后手决策无非两种
脑补一下是这样的把。。
【Codeforces 98E】 Help Shrek and Donkey 游戏策略神题的更多相关文章
- 【Codeforces 98E】 Help Shrek and Donkey
http://codeforces.com/problemset/problem/98/E (题目链接) 题意 A君有n张牌,B君有m张牌,桌上还有一张反扣着的牌,每张牌都不一样. 每个回合可以做两件 ...
- 【BZOJ5285】[HNOI2018]寻宝游戏(神仙题)
[BZOJ5285][HNOI2018]寻宝游戏(神仙题) 题面 BZOJ 洛谷 题解 既然是二进制按位的运算,显然按位考虑. 发现这样一个关系,如果是\(or\)的话,只要\(or\ 1\),那么无 ...
- Codeforces Round #519 by Botan Investments(前五题题解)
开个新号打打codeforces(以前那号玩废了),结果就遇到了这么难一套.touristD题用了map,被卡掉了(其实是对cf的评测机过分自信),G题没过, 700多行代码,码力惊人.关键是这次to ...
- [CF98E]Help Shrek and Donkey
题意:A和B两个卡牌大师玩游戏,A有$n$张牌,B有$m$张牌,桌上有$1$张牌,这$n+m+1$张牌互不相同且A和B都知道这些牌里有什么牌(但他们互相不知道对方有什么牌,两个人也都不知道桌上的那张牌 ...
- NIM游戏策略
NIM取子游戏是由两个人面对若干堆硬币(或石子,或..)进行的游戏,游戏由两个人进行,设有k>=1堆硬币,各堆含有n1,n2,n3,n4.....,nk个硬币,游戏的目的就是选取最后剩下的硬币. ...
- [CF98E]Help Shrek and Donkey(纳什均衡)
https://www.cnblogs.com/MashiroSky/p/6576398.html #include<cstdio> #include<algorithm> # ...
- codeforces 705B B. Spider Man(组合游戏)
题目链接: B. Spider Man time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Codeforces 15C Industrial Nim 简单的游戏
主题链接:点击打开链接 意甲冠军: 特定n 下列n行,每一行2的数量u v 表达v礧:u,u+1,u+2···u+v-1 问先手必胜还是后手必胜 思路: 首先依据Nim的博弈结论 把全部数都异或一下, ...
- Codeforces Gym 100650C The Game of Efil 模拟+阅读题
原题链接:http://codeforces.com/gym/100650/attachments/download/3269/20052006-acmicpc-east-central-north- ...
随机推荐
- linux下,将一个目录中的图片文件合成为gif图片
# {} 为文件所在目录位置 # {} 为gif图片位置 convert -delay -depth -layers optimize -quality -loop {} {}
- 智慧树mooc自动刷课代码
最近学习javaScript和JQuery,恰好还有一门mooc没有看.结合学习的知识和其他人的代码:撸了一个自动播放课程的代码,同时自动跳过单章的测试题. 用电脑挂着不动就完事了. 如下: var ...
- sql批量更新
-----------------更新无锡医院名称 update Opt_DKI_Hospital set centerName =tmp.[医院名称] from Opt_DKI_Hospital h ...
- 微软职位内部推荐-Senior Software Lead-Index Gen
微软近期Open的职位: Position: Senior Software Development Lead Bing Index Generation team is hiring! As one ...
- mac 的一些使用技巧
1. mac有一个自带的服务器环境, 目录路径 /Library/WebServer/Documents 打开终端 a. 启动 sudo apachectl start b. 重新启动 sudo a ...
- [Algorithm] A* Search Algorithm Basic
A* is a best-first search, meaning that it solves problems by searching amoung all possible paths to ...
- 【转】SWFUpload 官方说明文档(2.5.0版)
原文出自:http://www.runoob.com/w3cnote/swfupload-document.html SWFUpload使用指南请查阅:http://www.w3cschool.cc/ ...
- React 初学
React.createClass({}); getInitialState,this.setState({}); {}解读代码块,外层不要加引号,比如onChange={this.handleCha ...
- TDGA-需求分析
李青:绝对的技术控,团队中扮演“猪”的角色,勤干肯干,是整个团队的主心骨,课上紧跟老师的步伐,下课谨遵老师的指令,课堂效率高,他的编程格言“没有编不出来的程序,只有解决不了的bug”. 胡金辉:半两油 ...
- 第一次c++团队合作项目第二篇随笔
随着时间的推移,项目也逐渐展开.我的地图也通过按钮的拼接完成了一小部分.这部分我是用了QT上的按钮类来实现的.接下来就是给按钮贴上图片,然后最重要也是最困难的是实现参数的传递,如何实现点击一个英雄或小 ...