题目

有\(n\)个格子,可以选择三种长度的线段覆盖,不能重叠,

无法覆盖者为负,问先手是否必胜,\(n\leq 10^3\)


分析

考虑选择一个位置覆盖则该局面分成两个局面,

直接求出SG函数不为0先手必胜即可


代码

#include <cstdio>
#include <cctype>
#define rr register
using namespace std;
int n,m,k,v[1001],sg[1001];
inline signed iut(){
rr int ans=0,f=1; rr char c=getchar();
while (!isdigit(c)) f=(c=='-')?-f:f,c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans*f;
}
signed main(){
n=iut(),m=iut(),k=iut();
for (rr int i=1;i<1001;++i){
for (rr int j=0;j+n<=i;++j)
v[sg[j]^sg[i-j-n]]=1;
for (rr int j=0;j+m<=i;++j)
v[sg[j]^sg[i-j-m]]=1;
for (rr int j=0;j+k<=i;++j)
v[sg[j]^sg[i-j-k]]=1;
for (;v[sg[i]];++sg[i]);
for (rr int j=0;j+n<=i;++j)
v[sg[j]^sg[i-j-n]]=0;
for (rr int j=0;j+m<=i;++j)
v[sg[j]^sg[i-j-m]]=0;
for (rr int j=0;j+k<=i;++j)
v[sg[j]^sg[i-j-k]]=0;
}
for (rr int T=iut();T;--T)
putchar(sg[iut()]?49:50),putchar(10);
return 0;
}

#Multi-SG#BZOJ 2940 [POI2000] 条纹的更多相关文章

  1. BZOJ 2940: [Poi2000]条纹(Multi-Nim)

    Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 110  Solved: 70[Submit][Status][Discuss] Description ...

  2. 2940: [Poi2000]条纹(Multi_SG)

    2940: [Poi2000]条纹 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 114  Solved: 72[Submit][Status][Dis ...

  3. bzoj2940: [Poi2000]条纹

    2940: [Poi2000]条纹 条纹游戏是一个双人的游戏.所需要的物品有一个棋盘以及三种颜色的长方形条纹,这三种颜色分别是红色.绿色和蓝色.所有的红色条纹的尺寸是c*1,所有的绿色条纹的尺寸是z* ...

  4. bzoj千题计划260:bzoj2940: [Poi2000]条纹

    http://www.lydsy.com/JudgeOnline/problem.php?id=2940 SG 博弈入门推荐张一飞的<由感性认识到理性认识 ——透析一类搏弈游戏的解答过程> ...

  5. BZOJ 2946: [Poi2000]公共串

    2946: [Poi2000]公共串 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 787  Solved: 342[Submit][Status][D ...

  6. BZOJ 2946: [Poi2000]公共串( 后缀自动机 )

    一个串建后缀自动机, 其他串在上面跑, 然后用当前串跑的去更新全部 ------------------------------------------------------------------ ...

  7. BZOJ 2938: [Poi2000]病毒 [AC自动机 拓扑排序]

    2938: [Poi2000]病毒 题意:判断是否存在无限长的不含模式串的字符串.只有01. 建出套路DP的转移图,判断有环就行了 练习一下拓扑排序 #include <iostream> ...

  8. BZOJ 2938: [Poi2000]病毒

    2938: [Poi2000]病毒 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 693  Solved: 360[Submit][Status][Di ...

  9. BZOJ 2938 [POI2000]病毒 (剪枝/A*迭代搜索)

    LOJ BZOJ 题目大意:给你一些模式串,问是否存在一个无限长的文本串,不包含任何一个给定的模式串 并没有想到去模拟合法的文本串在模式串的Trie图上匹配的过程..我好菜啊 如果一个字符串合法,那么 ...

  10. BZOJ 2947 Poi2000 促销 set

    标题效果:特定n天,首先插入一些每天.然后去掉最高值和最低值,要付出最大的值-至少值价格.乞讨n总天数支付的价格 堆/段树/平衡树光秃秃的标题 #include <set> #includ ...

随机推荐

  1. contextmanager装饰器

    虽然上下文管理器很好用,但定义一个符合协议的管理器对象其实挺麻烦的 得首先创建一个类,然后实现好几个魔法方法.为了简化这部分工作,python 提供了一个非常好用的工具:@contextmanager ...

  2. django中的一些装饰器用法

    1.require_http_methods() 1.要求视图只接受特定的请求方法 2.该装饰器允许传递多个请求方法参数,以列表的形式,请求方法名要大写 from django.views.decor ...

  3. java+mysql数据库实现的学生管理系统

    说明: java+mysql数据库实现的学生管理系统 功能 实现增加学生.删除学生.修改学生.学生列表.查询学生功能 截图: 开发工具/技术 java  eclipse 价格:50元,有需要联系 微信 ...

  4. React 组件懒加载

    只有不断学习和成长,才能适应这个快速变化的世界. 1. 懒加载 1.1 React 懒加载 React 中懒加载 Lazy 与 Suspense 需要搭配使用. React.lazy 定义: Reac ...

  5. 【Azure 应用服务】遇见“无法创建hybrid connection for App Service”的解决办法

    Hybrid Connection (混合连接) 在两个联网应用程序之间启用了双向.请求-响应和二进制流通信以及简单的数据报流.通过混合连接,可以实现应用部署在公网环境中,而数据库保存在本地私网环境中 ...

  6. 2022_vue3笔记

    由于公司项目有vue2.5,自己电脑又要3.2,总不可能总是安装删除环境,这儿使用安装nvm版本管理 安装node前配置一下镜像地址 node_mirror: https://npm.taobao.o ...

  7. git commit大文件后无法删除或撤回

    可以使用版本回退的功能 先用git log 查看历史提交 用 git reset --soft 上面的编号 回退到历史提交的版本 再重新commit即可

  8. [学习笔记] CentOS + .Net后端常用的中间件工具安装

    Redis 5.0+ 官方文档:https://redis.io/download/#redis-downloads sudo yum install redis RabbitMQ 3.7.11+ 官 ...

  9. vscode 文件上传快捷键 shift+alt+s (ftp专用)插件用的 ftp-sync

    vscode 文件上传快捷键 shift+alt+s (ftp专用)插件用的 ftp-sync { "key": "shift+alt+s", "co ...

  10. InputNumberZen.vue 数字输入 支持两位小数

    <template> <span style="width: 200px; display: inline-block;"> <Input v-mod ...