uoj51 元旦三侠的游戏
题意:询问a,b,n。每次可以a+1或b+1,保证a^b<=n,不能操作者输。问先手是否赢?
n<=1e9.
标程:
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int read()
{
int x=,f=;char ch=getchar();
while (ch<''||ch>'') {if (ch=='-') f=-;ch=getchar();}
while (ch>=''&&ch<='') x=(x<<)+(x<<)+ch-'',ch=getchar();
return x*f;
}
typedef long long ll;
const int N=;
int n,m,top[N],f[N][],tot,x,y,ans;
int main()
{
n=read();m=read();int ss=sqrt(n);
memset(f,,sizeof(f));//边界态
f[ss+][]=((n-ss-)&);
for (int i=ss;i>=;i--,tot=)
{
for (ll g=i;g<=n;g*=i) tot++;
for (int j=tot;j>=;j--) f[i][j]=(!f[i+][j]||!f[i][j+]);
}
while (m--)
{
x=read();y=read();
if (x>ss) ans=((n-x)&);else ans=f[x][y];
puts(ans?"Yes":"No");
}
return ;
}
易错点:注意考虑当n>sqrt(n)的情况,因为是链型递推,可以直接以奇偶性来判断。
题解:博弈
对于n<=sqrt(n)的考虑,转移式子为f[i][j](起点于i,j,先手是否能赢)=(!f[i+1][j]||!f[i][j+1]).
注意一下边界。
uoj51 元旦三侠的游戏的更多相关文章
- 【UOJ#51】【UR #4】元旦三侠的游戏(博弈论)
[UOJ#51][UR #4]元旦三侠的游戏(博弈论) 题面 UOJ 题解 考虑暴力,\(sg[a][b]\)记录\(sg\)函数值,显然可以从\(sg[a+1][b]\)和\(sg[a][b+1]\ ...
- [UOJ #51]【UR #4】元旦三侠的游戏
题目大意:给$n$,一个游戏,给$a,b$,两个人,每人每次可以把$a$或$b$加一,要求$a^b\leqslant n$,无法操作人输.有$m$次询问,每次给你$a,b$,问先手可否必胜 题解:令$ ...
- 【UR #4】元旦三侠的游戏(博弈论+记忆化)
http://uoj.ac/contest/6/problem/51 题意:给m($m \le 10^5$)个询问,每次给出$a, b(a^b \le n, n \le 10^9)$,对于每一组$a, ...
- [UOJ Round#4 A] [#51] 元旦三侠的游戏 【容斥 + 递推】
题目链接:UOJ - 51 据说这题与 CF 39E 类似. 题目分析 一看题目描述,啊,博弈论,不会!等待爆零吧... 这时,XCJ神犇拯救了我,他说,这题可以直接搜啊. 注意!是用记忆化搜索,状态 ...
- A. 【UR #4】元旦三侠的游戏
题解: 挺水的吧 会发现当b不等于1的时候,状态只有sigma i x^(1/i) 显然这东西很小.. 然后我们会发现每个点向两个点动 定义必胜点和必败点 当一个点有一条边连向必败点 那么它就是必胜点 ...
- 【uoj#51】[UR #4]元旦三侠的游戏 博弈论+dp
题目描述 给出 $n$ 和 $m$ ,$m$ 次询问.每次询问给出 $a$ 和 $b$ ,两人轮流选择:将 $a$ 加一或者将 $b$ 加一,但必须保证 $a^b\le n$ ,无法操作者输,问先手是 ...
- 使用UIKit制作卡牌游戏(三)ios游戏篇
译者: Lao Jiang | 原文作者: Matthijs Hollemans写于2012/07/13 转自朋友Tommy 的翻译,自己只翻译了这第三篇教程. 原文地址: http://www.ra ...
- 【MFC三天一个游戏】之 局域网黑白棋
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 花了三天上班时间,妈的上班写就是不能静下心来,擦,要防BOSS巡山.... 以前也写过 ...
- Android破解学习之路(三)——Android游戏 切水果破解
经过前两篇破解教程,想必大家也是明白了破解的简单流程了. 先对APP进行试用,了解APP运行的大概流程,之后从APP中找出关键字(一般的关键字差不多都是支付失败),之后使用Androidkiller进 ...
随机推荐
- idea使用问题
1. 问题: 突发断电导致idea的play项目错误,无法识别build.sbt,build.sbt文件报错,Cannot resolve symbol 解决方案: For anyone having ...
- hdu多校第五场1005 (hdu6628) permutation 1 排列/康托展开/暴力
题意: 定义一个排列的差分为后一项减前一项之差构成的数列,求对于n个数的排列,差分的字典序第k小的那个,n<=20,k<=1e4. 题解: 暴力打表找一遍规律,会发现,对于n个数的排列,如 ...
- Spring AOP之注解实现
在自定义个注解之后,通过这个注解,标注需要切入的方法,同时把需要的参数传到切面去.那么我们怎么在切面使用这个注解.我们使用这个自定义注解一方面是为了传一些参数,另一方面也是为了省事.具体怎么省事,看我 ...
- Hadoop节点集群挂了,Hbase数据源损坏怎么办
今天集群节点一下子挂了5台,hbase的数据块也损坏. hadoop日志 .0.15:36642 dest: /ip:50010 2014-08-26 15:01:14,918 WARN org.ap ...
- Mybatis 使用的 9 种设计模式,真是太有用了~
Java技术栈 ) { name = fullname.substring(0, delim); children = fullname.substring(delim + 1); ...
- 从0的1学习JavaSE,Jdk的安装
一.常用的dos命令 dir 罗列出当前目录的下所有文件名字 cd 路径 切换路径,该路径可以是相对于路径也可以是绝对路径 相对路径,只相对于当前的目录下的文件 绝对路径,是从盘符开始的路径地址 注意 ...
- Pytorch模型定义的三要
首先,必须继承nn.Module这个类,要让Pytorch知道这个类是一个Module. 其次,在_init_(self)中设置需要的组件,比如(Conv,Pooling,Linear,BatchNo ...
- ES6 学习 -- 解构赋值
一.数组解构 **数组解构,解构出来的值跟数组下标是一一对应的,如果左边变量多于右边数组,则左边后面部分变量值为undefined,如果右边数组元素个数多于左边解构变量个数,则左边变量全都有值,且一一 ...
- sql(2) DISTINCT
SELECT DISTNCT 列名称 FROM 表名称SQL SELECT DISTINCT 语句在表中,可能会包含重复值. 关键词 DISTINCT 用于返回唯一不同的值. 语法:新建数据库 tes ...
- Centos 6.5 python版本升级到2.7.8
Centos6.5默认的 python版本是2.6 为了使用aliyuncli工具,直接用pip安装aliyuncli提示错误. 所以决定升级下python版本,但是yum依赖于python2.6,升 ...