uoj51 元旦三侠的游戏
2024-10-21 17:30:27
题意:询问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]).
注意一下边界。
最新文章
- Xcode 属性面板添加自定义控件属性
- wamp(win1064位家庭版+apache2.4.20+php5.5.37+mysql5.5.50)环境搭建
- Yii 动作过滤的方法
- 【转】解决eclipse新导入工程无法run as server
- max(min)-device-width和max(min)-width的区别
- 分享几个Javascript 封装方法
- MySQL触发器 Update触发Insert失败
- hadoop2.2编程:mapreduce编程之二次排序
- jQuery Validate 验证,校验规则写在控件中的具体例子
- mac 查找当前目录下所有同一类型文件,并执行命令行
- Linux tcpdump命令具体解释
- CSS 自动隐藏文字并添加省略号
- sass补充(2019-3-9)
- Pandas基本操作
- django不定义model,直接执行自定义SQL
- oracle配置访问白名单教程
- 基于jQuery Tooltips悬停提示效果
- SecureCRT ,可是进入模拟器后TAB键还是无法补全
- 低版本eclipse离线集成svn步骤,亲测有效!!!
- (转) rabbitmq应用场景
热门文章
- faster-rcnn代码阅读-roi-data层
- JavaScript-Tool:wechatHelper.js
- [转] boost undefined reference to &#39;pthread_create 问题
- 永久修改 putty字体大小
- C++之变量
- WPF datagrid AutoGenerateColumns隐藏部分列
- 《创新者》读书笔记 PB16110698 第五周(~4.5)
- C 语言源代码说明
- Linux-iptables-route-rule
- java 和 IntelliJ IDEA 的一些配置