51nod 1714:B君的游戏(博弈 sg打表)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1714
nim游戏的一个变形,需要打出sg函数的表
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
;
], maxs;
int vis[maxn];
//yu控制递归层数,cur控制所分配最大值,next控制所分配最小值
void dfs(int cur, int yu, int ans, int next)
{
)
{
vis[ans]=;
return ;
}
for(int i=next; i<cur; i++)
dfs(cur, yu-, ans^sg[i], i);
}
void init()
{
sg[]=;
;i<=; i++)
{
memset(vis,,sizeof(vis));
dfs(i, , , );
;;j++)
if(!vis[j])
{
sg[i]=j;
break;
}
printf("%d\n", sg[i]);
}
}
void print(int n)
{
;i>=;i--)
{
) cout<<;
;
}
cout<<endl;
}
int main()
{
init();
;i<;i++)
print(sg[i]);
}
//Process exited after 232.7 seconds with return value 0
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long uLL;
, , , , , , , , , , , ,
, , , , , , , ,
, , , , , , ,
, , , , , ,
, , , , , ,
, , , , , ,
, , , , , ,
, , , , , ,
, , , , ,
, ,
};
int cal(uLL x)
{
;
;i<;i++)
) ret++;
return ret;
}
int main()
{
int n;
while(cin>>n)
{
;
while(n--)
{
uLL t;
cin>>t;
ans ^= sg[cal(t)];
}
if(ans) puts("B");
else puts("L");
}
}
51nod 1714:B君的游戏(博弈 sg打表)的更多相关文章
- 51Nod - 1714 B君的游戏
每个数的SG值之和他有多少个1相关 打表复杂度:找K个有序的<n的非负数的复杂度为nk/(k!) 则这题的SG打表复杂度为648/7! 为1e10左右 void dfs(int cur, int ...
- 1714 B君的游戏(Nim博弈)
1714 B君的游戏 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 B君和L君要玩一个游戏.刚开始有n个正整数 ai . 双方轮流操作.每次操作,选一个正整数 ...
- 51nod_1714:B君的游戏(博弈 sg打表)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1714 nim游戏的一个变形,需要打出sg函数的表 #incl ...
- 51nod 1661: 黑板上的游戏(sg函数 找规律)
题目链接 先打一个sg函数的表,找找规律,发现sg函数可以递归求解 打表代码如下 #include<bits/stdc++.h> using namespace std; typedef ...
- hihoCoder hiho一下 第四十六周 博弈游戏·Nim游戏·三( sg函数 )
题意: 给出几堆石子数量,每次可以取走一堆中任意数量的石头,也可以将一堆分成两堆,而不取.最后取走者胜. 思路: 先规矩地计算出sg值,再对每个数量查SG值就可以了.最后求异或和.和不为0的就是必赢. ...
- 博弈SG
先转一篇看得比较懂的,以后有时间自己再归纳下 转自:http://blog.csdn.net/logic_nut/article/details/4711489 博弈问题若你想仔细学习博弈论,我强烈推 ...
- (博弈 sg入门2)
接下来介绍Nim游戏(同样引用杭电上的,懒的打字) 1.有两个玩家: 2. 有三堆扑克牌(比如:可以分别是 5,7,9张): 3. 游戏双方轮流操作: 4. 玩家的每次操作是选择其中某 ...
- Nim 游戏、SG 函数、游戏的和
Nim游戏 Nim游戏定义 Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Combinatorial Games”(以下简称ICG).满足以 ...
- Nim游戏与SG函数 ——博弈论小结
写这篇博客之前,花了许久时间来搞这个SG函数,倒是各路大神的论文看的多,却到底没几个看懂的.还好网上一些大牛博客还是性价比相当高的,多少理解了些,也自己通过做一些题加深了下了解. 既然是博弈,经典的N ...
随机推荐
- laravel5.6操作数据curd写法(查询构建器)
laravel5.6 数据库操作-查询构建器 <?php //laravel5.6 语法 demo示例 namespace App\Http\Controllers;//命名该控制App空间下名 ...
- xiugai2
<div class="myLoading"> <div class="svg-wrap"> <svg width="8 ...
- ubuntu18.04英文环境解决各种软件中文乱码问题
如果要同时支持中文也支持英文,进入到该软件的字体设置界面,字体格式选择为: Noto Sans CJK SC
- 网路编程之socket与 socketserver、黏包
socket与socketerver才是我们学习python中网络编程的重中之重在介绍他们两个之前我先介绍一些相关知识 一.socket 概念 咱们现在ois模型中找到socket所承担的角色 soc ...
- gradle自动化打包apk
前堤是要在安卓项目中配置好gradle.build脚本 ## !/bin/sh ## 项目名 ##使配置文件生效,否则会报gradle:命令找不到 source /etc/profile TARGET ...
- mysql_DML_索引、视图
创建索引的语法格式:– 创建普通索引:• create index 索引名称 on 表名(列)• alter table 表名 add index 索引名称 (列)– 创建唯一索引:• create ...
- Python 有哪些优雅的代码实现让自己的代码更pythonic?
https://www.zhihu.com/question/37751951/answer/73425339 https://www.cnblogs.com/geaozhang/p/7111961. ...
- jmeter之ServerAgent监控资源
对linux服务器的服务进行压测时,服务器的运行情况可以通过添加插件来观察,而不用使用top命令实时的去看 1.资源准备 2.环境准备 3.资源监控 1.资源准备 可通过该网址下载jmeter所有插件 ...
- Redis 基础及各数据类型对应的命令
Redis 命令文档 基本概念 安装及使用 可以在官网下载源码编译安装.对于 CentOS,还可以通过 yum install redis 安装. Redis 安装完成后,通过 redis-serve ...
- 《JAVA设计模式》之迭代器模式(Iterator)
在阎宏博士的<JAVA与模式>一书中开头是这样描述迭代子(Iterator)模式的: 迭代子模式又叫游标(Cursor)模式,是对象的行为模式.迭代子模式可以顺序地访问一个聚集中的元素而不 ...