[UOJ #51]【UR #4】元旦三侠的游戏
题目大意:给$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 <cstdio>
#define maxn 32010
const int sq = 32000;
int n, m;
int exp[maxn];
bool f[maxn][31];
int main() {
scanf("%d%d", &n, &m);
exp[1] = n;
for (int i = 2; i <= sq; i++) {
if (i > n) exp[i] = 0;
else {
long long S = i, j;
for (j = 2; (S *= i) <= n; j++) ;
exp[i] = j - 1;
}
}
f[sq + 1][1] = !(n - sq - 1 & 1);
for (int i = sq; i > 1; i--) {
for (int j = exp[i]; j; j--) {
f[i][j] = !(f[i][j + 1] || f[i + 1][j]);
}
}
while (m --> 0) {
int a, b;
scanf("%d%d", &a, &b);
if (a > sq) puts((n - a & 1) ? "Yes" : "No");
else puts(f[a][b] ? "No" : "Yes");
}
return 0;
}
[UOJ #51]【UR #4】元旦三侠的游戏的更多相关文章
- 【uoj#51】[UR #4]元旦三侠的游戏  博弈论+dp
		
题目描述 给出 $n$ 和 $m$ ,$m$ 次询问.每次询问给出 $a$ 和 $b$ ,两人轮流选择:将 $a$ 加一或者将 $b$ 加一,但必须保证 $a^b\le n$ ,无法操作者输,问先手是 ...
 - 【UOJ#51】【UR #4】元旦三侠的游戏(博弈论)
		
[UOJ#51][UR #4]元旦三侠的游戏(博弈论) 题面 UOJ 题解 考虑暴力,\(sg[a][b]\)记录\(sg\)函数值,显然可以从\(sg[a+1][b]\)和\(sg[a][b+1]\ ...
 - [UOJ Round#4 A] [#51] 元旦三侠的游戏 【容斥 + 递推】
		
题目链接:UOJ - 51 据说这题与 CF 39E 类似. 题目分析 一看题目描述,啊,博弈论,不会!等待爆零吧... 这时,XCJ神犇拯救了我,他说,这题可以直接搜啊. 注意!是用记忆化搜索,状态 ...
 - 【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, ...
 - A. 【UR #4】元旦三侠的游戏
		
题解: 挺水的吧 会发现当b不等于1的时候,状态只有sigma i x^(1/i) 显然这东西很小.. 然后我们会发现每个点向两个点动 定义必胜点和必败点 当一个点有一条边连向必败点 那么它就是必胜点 ...
 - uoj51 元旦三侠的游戏
		
题意:询问a,b,n.每次可以a+1或b+1,保证a^b<=n,不能操作者输.问先手是否赢? n<=1e9. 标程: #include<cstdio> #include< ...
 - UOJ.52.[UR #4]元旦激光炮(交互 思路)
		
题目链接 \(Description\) 交互库中有三个排好序的,长度分别为\(n_a,n_b,n_c\)的数组\(a,b,c\).你需要求出所有元素中第\(k\)小的数.你可以调用至多\(100\) ...
 - UOJ 【UR #5】怎样跑得更快
		
[UOJ#62]怎样跑得更快 题面 这个题让人有高斯消元的冲动,但肯定是不行的. 这个题算是莫比乌斯反演的一个非常巧妙的应用(不看题解不会做). 套路1: 因为\(b(i)\)能表达成一系列\(x(i ...
 - UOJ #22 UR #1 外星人
		
LINK:#22. UR #1 外星人 给出n个正整数数 一个初值x x要逐个对这些数字取模 问怎样排列使得最终结果最大 使结果最大的方案数又多少种? n<=1000,x<=5000. 考 ...
 
随机推荐
- JDK6 新特性
			
JDK6新特性目录导航: Desktop类和SystemTray类 JAXB2实现对象与XML之间的映射 StAX Compiler API 轻量级 Http Server API 插入式注解处理AP ...
 - .Net Core On Liunx 环境搭建之 Docker 容器和Nginx
			
上一篇文章安装了Mysql8数据库,接下开始安装Docker和Nginx 我的思路是这样的,用Docker当运行环境的虚拟机,Nginx当Http服务器用来做反向代理. 服务器环境:阿里云服务器,操作 ...
 - ECSHOP和SHOPEX快递单号查询德邦插件V8.6专版
			
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
 - python3爬虫之开篇
			
写在前面的话: 折腾爬虫也有一段时间了,从一开始的懵懵懂懂,到现在的有一定基础,对于这一路的跌跌撞撞,个人觉得应该留下一些文字性的东西,毕竟好记性不如烂笔头,而且毕竟这是吃饭的家伙,必须用心对待才可以 ...
 - C++常量(const)的使用
			
#include <iostream> using namespace std; class MyClass { public: int GetValue() const ; int Ge ...
 - STL——泛型编程
			
1.指针的算术运算 对于一个存储int数据的vector,我们要查找某值是否存在于其中,采用下标操作的做法如下: int* find(const vector<int> &vec, ...
 - 嵌入式框架Zorb Framework搭建二:环形缓冲区的实现
			
我是卓波,我是一名嵌入式工程师,我万万没想到我会在这里跟大家吹牛皮. 嵌入式框架Zorb Framework搭建过程 嵌入式框架Zorb Framework搭建一:嵌入式环境搭建.调试输出和建立时间系 ...
 - 004---os & sys
			
os模块和sys模块 这两个模块都提供了很多与操作系统之间交互的功能 使用 import os #当前脚本的工作目录,不是脚本目录 print(os.getcwd()) # 获取指定目录下的所有文件和 ...
 - go学习笔记-包处理
			
包处理 package是go管理代码的重要工具,用于组织 Go 源代码,提供了更好的可重用性与可读性. 可见性 变量或函数名的首字母大写时,其就是可导出的,小写时则是不可导出的. 函数和变量的可访问性 ...
 - BZ 600题祭
			
不知不觉就600题了呢. 明天就要省选了.不要让这个数字定格在这里吧!