题目描述 给出 $n$ 和 $m$ ,$m$ 次询问.每次询问给出 $a$ 和 $b$ ,两人轮流选择:将 $a$ 加一或者将 $b$ 加一,但必须保证 $a^b\le n$ ,无法操作者输,问先手是否必胜. $n\le 10^9$ ,$m\le 10^5$ ,$a\ge 2$ ,$b\ge 1$ ,$a^b\le n$ 题解 博弈论+dp 显然可以想到预处理 $f[i][j]$ 表示 $a$ 为 $i$ ,$b$ 为 $j$ 时先手能否胜利.显然由 $f[i+1][j]$ 和 $f[i][j+…
[UOJ#51][UR #4]元旦三侠的游戏(博弈论) 题面 UOJ 题解 考虑暴力,\(sg[a][b]\)记录\(sg\)函数值,显然可以从\(sg[a+1][b]\)和\(sg[a][b+1]\)推过来. 发现可以从\(sg[a][b]\)推到\(sg[a][b+1]\)的值很少,所以可以直接把这些值全部提前计算出来,这部分大概有\(\sqrt n\)个,剩下的可以推到\(sg[a+1][b]\)而不能推到\(sg[a][b+1]\)的位置可以通过\(a\)以及最大的满足\(x^b\le…
题目链接:UOJ - 51 据说这题与 CF 39E 类似. 题目分析 一看题目描述,啊,博弈论,不会!等待爆零吧... 这时,XCJ神犇拯救了我,他说,这题可以直接搜啊. 注意!是用记忆化搜索,状态为 (a, b) . 是这样的:我们从后面倒着推,对于一个无法再增加 a 或 b 的 (a, b) 状态,当前走的人必败.这是终止的状态. 而对于一个不是终止状态的状态 (a, b) ,可能有两种后继状态 (a + 1, b) || (a, b + 1) ,我们递归先求出这两个后继状态是必败还是必胜…
http://uoj.ac/contest/6/problem/51 题意:给m($m \le 10^5$)个询问,每次给出$a, b(a^b \le n, n \le 10^9)$,对于每一组$a, b$,双人博弈,每次可以给$a$加1或给$b$加1,要求每次操作后$a^b \le n$.不能操作的算输.问先手是否必胜. #include <cstdio> #include <cstring> #include <cmath> #include <string&…
题目大意:给$n$,一个游戏,给$a,b$,两个人,每人每次可以把$a$或$b$加一,要求$a^b\leqslant n$,无法操作人输.有$m$次询问,每次给你$a,b$,问先手可否必胜 题解:令$f_{i,j}$表示$a=i,b=j$使得胜负,$f_{i,j}$可由$f_{i+1,j},f_{i,j+1}$推出,但这样会$MLE(b=1)$,发现若$a>\sqrt n$,可以直接奇偶性判断. 卡点:原来写的东西不知道为什么锅,换成题解的方式就过了 C++ Code: #include <c…
题解: 挺水的吧 会发现当b不等于1的时候,状态只有sigma i x^(1/i) 显然这东西很小.. 然后我们会发现每个点向两个点动 定义必胜点和必败点 当一个点有一条边连向必败点 那么它就是必胜点,否则它就是必败点 然后对于b=1特殊处理一下就好了吧…
题意:询问a,b,n.每次可以a+1或b+1,保证a^b<=n,不能操作者输.问先手是否赢? n<=1e9. 标程: #include<cstdio> #include<cstring> #include<cmath> using namespace std; int read() { ,f=;char ch=getchar(); ;ch=getchar();} )+(x<<)+ch-',ch=getchar(); return x*f; } t…
思路:状态最多有2^12,采用记忆化搜索!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include<iomanip> #include<cmath> #include<cstring> #include<vector> #define inf 1<<30 using namespace std; ]={{,},{,},{,…
思路:总共有18条边,9个三角形. 极大极小化搜索+剪枝比较慢,所以用记忆化搜索!! 用state存放当前的加边后的状态,并判断是否构成三角形,找出最优解. 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include<iomanip> #include<cmath> #include<cstring> #include<vector> #d…
好题,单纯的就是pn状态的推导 /* 把第一个点标为0,剩下的点按1-n-1编号 胜态是1,败态为0,dp[i][j]表示第i个人,怪兽起始位置在j时的胜负态 把0点设置为必败态,然后对于一个人来说,所有能到0点的点都设为必胜态,然后对于另一个人来说,如果他所有选择都会走到对手的必胜态上,那么这个状态就是必败 */ #include<bits/stdc++.h> using namespace std; #define maxn 10000 vector<]; ][maxn],chose…
Description 聪聪和睿睿最近迷上了一款叫做分裂的游戏.该游戏的规则试:共有n个瓶子,标号为0,1,2.....n-1,第i个瓶子中装有p[i]颗巧克力豆,两个人轮流取豆子,每一轮每人选择3个瓶子. 标号为i,j,k,并要保证i<j,j<=k且第i个瓶子中至少要有1颗巧克力豆,随后这个人从第i个瓶子中拿走一颗豆子并在j,k中各放入一粒豆子(j可能等于k). 如果轮到某人而他无法按规则取豆子,那么他将输掉比赛.胜利者可以拿走所有的巧克力豆! 两人最后决定由聪聪先取豆子,为了能够得到最终的…
POJ.1067 取石子游戏 (博弈论 威佐夫博弈) 题意分析 简单的威佐夫博弈 博弈论快速入门 代码总览 #include <cstdio> #include <cmath> #include <algorithm> using namespace std; int main() { int n,m; while(scanf("%d %d",&n,&m) != EOF){ if( n > m) swap(n,m); doubl…
HDU.2516 取石子游戏 (博弈论 斐波那契博弈) 题意分析 简单的斐波那契博弈 博弈论快速入门 代码总览 #include <bits/stdc++.h> #define nmax 51 using namespace std; int main() { int fib[nmax]; fib[1] = fib[2] = 1; for(int i = 3;i<nmax;++i){ fib[i] = fib[i-1] + fib[i-2]; } int n; while(scanf(&…
3895: 取石子 Time Limit: 1 Sec  Memory Limit: 512 MBSubmit: 361  Solved: 177[Submit][Status][Discuss] Description Alice和Bob两个好朋含友又开始玩取石子了.游戏开始时,有N堆石子 排成一排,然后他们轮流操作(Alice先手),每次操作时从下面的规则中任选一个: ·从某堆石子中取走一个 ·合并任意两堆石子 不能操作的人输.Alice想知道,她是否能有必胜策略.   Input 第一行输…
In a world where ordinary people cannot reach, a boy named "Koutarou" and a girl named "Sena" are playing a video game. The game system of this video game is quite unique: in the process of playing this game, you need to constantly fac…
点我进入题目 题目大意:n个小孩围一圈传球,每个人可以给左边的人或右边的人传球,1号小孩开始,一共传m次,请问有多少种可能的路径使球回到1号小孩. 输入输出:输入n,m,输出路径的数量. 数据范围:40% 3<=n<=30 1<=m<=20 100% 3<=n<=30 1<=m<=30 我是这么想的:膜拟过程,从1号小孩开始dfs,然后加一个记忆化搜索节省时间. dfs(num,tim)表示球传到第num个小孩,已经传过tim次时候,d[num][tim]表…
D. MADMAX time limit per test1 second memory limit per test256 megabytes Problem Description As we all know, Max is the best video game player among her friends. Her friends were so jealous of hers, that they created an actual game just to prove that…
题目 Alice和Bo在玩这样一个游戏,给定 $k$ 个数字 $a_1, a_2,..,a_k$.一开始有 $x$ 枚硬币,Alice和Bob轮流取硬币.每次所取的硬币的枚数一定要在 $k$ 个数当中.Alice先取,取走最后一枚的获胜.当双方都采取最有策略时,谁会获胜?假设 $k$ 个数中一定有1.($1 \leq x\leq 1000,1\leq k\leq 100$) 分析 至少,可以爆搜.加个记忆化就过了. $x=0$ 是必败态 如果对于某个 $i$,$x-a_i$ 是必败态,$x$ 就…
你的对手太坏了!在每年的年度三色抽卡游戏锦标赛上,你的对手总是能打败你,他的秘诀是什么? 在每局三色抽卡游戏中,有n个卡组,每个卡组里所有卡片的颜色都相同,且颜色只会是红(R).绿(G).蓝(B)中的一种.第i个卡组有vi张卡片. 对决双方每次只能选择一个还未抽完卡的卡组,从中拿走若干张卡片,可以全拿走,但不能一张都不拿.你只能选择颜色为红或者绿的卡组,而对手只能选择颜色为蓝或者绿的卡组. 你是先手,你和对手轮流行动,谁不能操作了就输了. 因为你的对手每次总是能打败你,你决定写一个程序来帮助你做…
1188: [HNOI2007]分裂游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 973  Solved: 599[Submit][Status][Discuss] Description 聪聪和睿睿最近迷上了一款叫做分裂的游戏. 该游戏的规则试: 共有 n 个瓶子, 标号为 0,1,2.....n-1, 第 i 个瓶子中装有 p[i]颗巧克力豆,两个人轮流取豆子,每一轮每人选择 3 个瓶子.标号为 i,j,k, 并要保证 i < j ,…
一个原来写的题. 既然最后是nim游戏,且玩家是先手,则希望第二回合结束后是一个异或和不为0的局面,这样才能必胜. 所以思考一下我们要在第一回合留下线性基 然后就是求线性基,因为要取走的最少,所以排一下序,从大到小求. #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<cmath> #include<algorithm> #in…
译者: Lao Jiang | 原文作者: Matthijs Hollemans写于2012/07/13 转自朋友Tommy 的翻译,自己只翻译了这第三篇教程. 原文地址: http://www.raywenderlich.com/12910/how-to-make-a-simple-playing-card-game-with-multiplayer-and-bluetooth-part-3 这篇文章为iOS教程团队成员 Matthijs Hollemans,他是一位经验丰富iOS开发者和设计…
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 花了三天上班时间,妈的上班写就是不能静下心来,擦,要防BOSS巡山.... 以前也写过小游戏,俄罗斯方块,贪吃蛇....不过也都是单机版的,也没用MFC写过,是用QT写的,一天半天就出来了... SOCKET也没搞过,唯一记得的一个就是在学校弄的,搭建了一个服务器和客户端,互相发了一句hello 就不搞了 算是未完整版咯....从零开始.... 呕....界面好恶心...真心不再想搞…
经过前两篇破解教程,想必大家也是明白了破解的简单流程了. 先对APP进行试用,了解APP运行的大概流程,之后从APP中找出关键字(一般的关键字差不多都是支付失败),之后使用Androidkiller进行反编译,对关键字或者关键字的Unicode进行搜索,之后,从搜索的结果中找出关键的smail文件,修改smail文件,进行编译,之后安装测试 简单地说,就是试用搜索破解测试 废话不多说,进入正题 一.破解准备 今天带来的是破解Android游戏——切水果,老样子,先发APP的下载地址 链接: ht…
本文由  网易云发布. 安全是一个永恒的话题,在业务不断云化.攻击越来越复杂的当下,互联网安全呈现了出什么样的严峻形势?对这些形势,网易云又是如何应对的? 网易云首席安全架构师沈明星 4月13日,网易云易盾&CNCERT闭门安全沙龙在杭州举行,在沙龙上网易云首席安全架构师沈明星分享了他的认识和思考. 安全风险正呈不断升级状态 似乎是为了表明网易安全在安全界的能力担当,在分享一开始沈明星首先介绍了网易公司的业务以及网易安全团队.他说,网易公司业务遍及电商.教育.互娱.社交.新闻.邮箱.硬件.金融等…
Description 一共n×m个硬币,摆成n×m的长方形.dongdong和xixi玩一个游戏,每次可以选择一个连通块,并把其中的硬币全部翻转,但是需要满足存在一个硬币属于这个连通块并且所有其他硬币都在它的左上方(可以正左方也可以正上方),并且这个硬币是从反面向上翻成正面向上.dongdong和xixi轮流操作.如果某一方无法操作,那么他(她)就输了.dongdong先进行第一步操作,假设双方都采用最优策略.问dongdong是否有必胜策略. Input 第一行一个数T,表示他们一共玩T局游…
石子游戏 Time Limit: 10 Sec  Memory Limit: 256 MB Description Input Output 输出T行,表示每组的答案. Sample Input 3 1 1 2 1 0 0 3 1 2 2 4 4 4 4 Sample Output 1 0 6 HINT Solution 这显然是一道博弈论的题目.我们发现这是一个树结构,仔细看了一下,发现这显然是一个阶梯Nim的模型. 我们将所有和同n奇偶的值XOR起来就可以得到SG.我们先判断一下,若SG=0…
游戏地形 在游戏的世界中,必然会有非常多丰富多彩的游戏元素融合当中. 它们种类繁多.作用也不大同样.一般对于游戏元素可分为两种:经经常使用.不经经常使用.经常使用的元素是游戏中比較重要的元素.一般须要使用脚本来实现某些特殊功能.比方:玩家控制的主角对象,须要攻击的敌人等. 因此经常使用的元素直接影响游戏的执行,而不常有的元素.比方说游戏里的天空,云朵等.不影响游戏的主线.只提升游戏的总体效果. 创建地形 在3D游戏里,常常会出现起伏的地形. 本文变总结回想下怎样在游戏里创建游戏地形. 首先在导航…
题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=1022 (luogu) https://www.luogu.org/problemnew/show/P4279 题解: 大力出奇迹系列.. 我找了一小时规律,瞎猜了一个结论,看着都不靠谱,结果它居然过了.... 结论: 若所有\(a_i\)都等于\(1\), 则后手必胜当且仅当\(n\)是奇数:否则后手必胜当且仅当所有\(a_i\)异或和为\(0\). 既然对了那就口胡一…
打比赛的时候还没学博弈论,打完下来花了半个多小时学完,发现这题就是一道\(SG\)函数 其实当时差一点就\(YY\)出了答案,但是后面太难想,所以没整出来 机房大佬们都说自己没学博弈论,但是都AC 题解 假设先手兔子(我)放的是黑棋,仓鼠(小埋)放的是白棋 首先这道题的\(n\)个环可以认为是\(n\)个独立的\(G_1,G_2,G_3...\)有向图游戏,共同构成\(G\)游戏 那么$SG(G) = SG(G_1) $ \(XOR\) \(SG(G_2)\) \(XOR\) \(SG(G_3)…