具体一些的博弈论 sqrstone
Description
你有n个盒子用来放石头,每个盒子都有最大容量与初始的石头数,
两个人轮流放石头,每次必须选择一个盒子往里放数量不超过当前盒子中石头数的平方的石头
比如一个盒子当前有3个石头,你可以放1~9个石头,当然不能超过容量限制
谁先不能放石头谁就输了,问先手输赢
Input
包含多组数据,每组数据第一行一个整数n表示盒子数,接下来n行每行两个非负整数s和c,
表示盒子的容量和初始石头数,n=0时表示读入结束
Output
除了n=0的数据外每个数据输出’Yes’或’No’分别表示先手赢和输
Sample Input
样例输入:
3
2 0
3 3
6 2
2
6 3
6 3
0
样例输出:
Yes
No
HINT
数据范围:
对于30%的数据 n < 5 s, c < 10
对于60%的数据 n < 20 s, c < 1000 数据组数 < 11
对于100%的数据 n < 50 s, c < 1000000 数据组数 < 1001
SG函数.
直接暴力搞能拿到40分, 稍作优化即可AC.
设t满足 t * t + t < s, (t + 1) * (t + 1) + (t + 1) >= s
1. c > t 则当前状态是必胜态,因为c*c+c>=s成立,返回sg值为s-c(因为当前有c个可以选石头到当前有(c+1) ~ s个状态,当前s个状态必败sg值为0,(c + 1)到(s - 1)的状态sg值求法同理)
2. c = t 则当前状态为必败态,因为最多放c * c个石头,瓶子未满,对手必胜,至少放1个石头,则对手也是必胜.
3. c < t 当前状态无法确定,而在瓶子中已经有c个石头的前提下,容量为 s 和容量为 t 的状态是等价的,如果(t, c)是必败态,则(s, c)也是必败态.
具体一些的博弈论 sqrstone的更多相关文章
- 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函数,暴力一遍,打表 ...
随机推荐
- Django之FileField字段
头像上传 在头像上传的时候,属于文件类型 首先视图函数获取的时候,request.FILES.get('文件名变量') avatar_obj = request.FILES.get('avatar') ...
- cf 1020 C
C. Elections time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- 使用docker+tomcat部署jenkins
- Hive中集合类型
Hive中集合类型 创建表,集合是以 - 分割的 数据文件 加载数据 查询数据 查询数组中第一个字段 再建一个表,使用map 查看数据文件 加载数据 查询数据 查询键值 创建表,struct类型 查看 ...
- 第五部分 linux 软件安装RPM SRPM与YUM
第五部分 linux 软件安装RPM SRPM与YUM 软件管理员简介 RPM与DPKG两大主流 rpm: redhat centos suse 命令:yum ...
- Django中间件、Auth认证
中间件 一:什么是中间件 是介于request与response处理之间的一道处理过程 二:中间件的作用 如果你想修改请求,例如被传送到view中的HttpRequest对象. 或者你想修改view返 ...
- Goal Oriented Action Planning for a Smarter AI
Goal Oriented Action Planning for a Smarter AI by Brent Owens23 Apr 2014 Goal Oriented Action Planni ...
- poj1734Sightseeing trip
Sightseeing trip Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6811 Accepted: 2602 ...
- 【CCF】地铁修建 改编Dijkstra
[题意] 给定有n个点,m条边的无向图,没有平行边和自环,求从1到n的路径中,最长段的最小值(最短路不再是路径和,而是所有段中的最大值) [AC] #include<iostream> # ...
- Team Contests - Warmup(2016年多校热身赛,2016年黑龙江省赛)
Team Contests - Warmup A 题意:... 思路:不会 代码:... 随机 B 题意:给n个点,问是否有一个圆上有最少n/3个点 思路:随机大法好. 代码:... 递推 C 题意: ...