LOJ6212(博弈论)
n <= L 和 n <= 2L 情况显然,一次就能取完;
分析 n > 2L 时:
Alice手速太快,Bob同学是弱势群体,所以Bob肯定不能单纯地模仿Alice,那样顶多是平手(n要是无限他俩还真就平手了)。那么他的反超策略就是:先跟着Alice,然后关键时机(瓜快没了,马上就能结束战斗)比Alice少拿一个,最后留出一分钟空闲再狠狠抓一把;
但是Alice不傻的,她不能给Bob反超的机会,所以在即将到达2L这个决胜负边界时她是要注意好分寸的,由于Bob之前一直学着她拿,一旦这次她拿多了(>1个)导致n < 2L,那Bob就可以使出“悄咪咪模仿到比Alice少1时怒抓L个”之术,这之后留给Alice的就不到L个了,Alice就败了。
鉴于二位都是明白人,所以不失一般性地,在n > 2L这段时间,不妨理解为他们的博弈就是你摸一我摸一的疯狂试探。
然后我们会发现一直拿到n == 2L时:开局时的n如果是偶数,那他们都是平手的,然后一人一大把,平局了,Alice总共吃瓜n/2个;开局时的n如果是奇数,Alice此时多拿一个,然后一人一大把结束战斗。这种情况Bob也没办法的,Alice手速快,还每次只拿一个,Bob就算多拿,Alice也能秒速跟上然后反手超过。
最后ans为Alice的吃瓜数就是ceil(n/2)了。
#include <cstdio>
#define ll long long
#define R(x) scanf("%lld", &x)
#define W(x) printf("%lld\n", x) int main() {
ll T, n, l;
R(T);
while (T--) {
R(n), R(l);
if (n <= l)
W(n);
else if (n <= * l)
W(l);
else
W((n + ) / );
}
return ;
}
LOJ6212(博弈论)的更多相关文章
- IT人生知识分享:博弈论的理性思维
背景: 昨天看了<最强大脑>,由于节目比较有争议性,不知为什么,作为一名感性的人,就想试一下如果自己理性分析会是怎样的呢? 过程是这样的: 中国队(3人)VS英国队(4人). 1:李建东( ...
- [poj2348]Euclid's Game(博弈论+gcd)
Euclid's Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9033 Accepted: 3695 Des ...
- 博弈论揭示了深度学习的未来(译自:Game Theory Reveals the Future of Deep Learning)
Game Theory Reveals the Future of Deep Learning Carlos E. Perez Deep Learning Patterns, Methodology ...
- TYVJ博弈论
一些比较水的博弈论...(为什么都没有用到那什么SG呢....) TYVJ 1140 飘飘乎居士拯救MM 题解: 歌德巴赫猜想 #include <cmath> #include < ...
- Codeforces 549C. The Game Of Parity[博弈论]
C. The Game Of Parity time limit per test 1 second memory limit per test 256 megabytes input standar ...
- 【POJ】2234 Matches Game(博弈论)
http://poj.org/problem?id=2234 博弈论真是博大精深orz 首先我们仔细分析很容易分析出来,当只有一堆的时候,先手必胜:两堆并且相同的时候,先手必败,反之必胜. 根据博弈论 ...
- 博弈论入门小结 分类: ACM TYPE 2014-08-31 10:15 73人阅读 评论(0) 收藏
文章原地址:http://blog.csdn.net/zhangxiang0125/article/details/6174639 博弈论:是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策 ...
- poj 3710 Christmas Game 博弈论
思路:首先用Tarjan算法找出树中的环,环为奇数变为边,为偶数变为点. 之后用博弈论的知识:某点的SG值等于子节点+1后的异或和. 代码如下: #include<iostream> #i ...
- hdoj 1404 Digital Deletions(博弈论)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1404 一看就是博弈论的题目,但并没有什么思路,看了题解,才明白 就是求六位数的SG函数,暴力一遍,打表 ...
随机推荐
- git删除某次提交(某个commit)的方法【转】
本文转载自:https://www.36nu.com/post/275 git删除某次提交(某个commit)的方法 疯狂的兔子 发表于 4个月前 阅读 536 收藏 0 推荐 0 评论 0 推荐收藏 ...
- HDU3065 病毒侵袭持续中 —— AC自动机
题目链接:https://vjudge.net/problem/HDU-3065 病毒侵袭持续中 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- 网页上传FLV视频文件
上传 flv格式文件一致提示文件类型不允许,是因为CI中的配置文件没有支持这个格式 在 application/config/mimes.php中加入 'flv' => array('video ...
- BZOJ_3781_小B的询问_莫队
BZOJ_3781_小B的询问_莫队 Description 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值 ...
- vue 里面输出带标签的html
使用 v-html 指令 <div v-html="'<P>11111111</P><P>11111111</P>'"> ...
- bzoj4006
斯坦纳树 比之前要求高了一些 其实利用斯坦纳树的dp[i][s]以i为根,S为状态就行了,先跑一遍斯坦纳树,预处理出dp数组,记住每个S的最小值,然后再dp,这里dp必须要求同一种颜色的状态都必须在S ...
- World is Exploding
题意: 给出一个长为n的序列A,问有多少四元组(a, b, c, d)满足$a \ne b \ne c \ne d, 1 \leq a < b \leq n, 1 \leq c < d \ ...
- no more URLs to fetch
Generator: records selected for fetching, exiting ... Stopping at depth= - no more URLs to fetch. 出现 ...
- Linux命令行设置环境变量
参考 Linux命令行--使用linux环境变量 Linux命令行—使用Linux环境变量
- C++STL 求和:accumulate 【转】
该算法在numeric头文件中定义. accumulate()的原型为(文件取自DEV-C++编译器): template<typename _InputIterator, typename _ ...