题意:

一排石头,个数是K。

有n个数,a1...an。

每人每次取石子只能取连续的x个。x属于a1...an的一个。

没法取者负。

思路:

简单的SG。但是TLE!后面加了一个优化~这个优化不好想到吧,看了别人的代码才发现的。就是把a1...an中重复的去掉!。。。

直接看代码。

代码:

int sg[1005];
int n,m,k;
int a[105]; int dfs(int x){
if(sg[x]!=-1)
return sg[x];
bool vis[1005]={0};
rep(i,1,n){
if(x<a[i]) break;
for(int j=1;j+a[i]-1<=x;++j){
int t1=0;
t1=t1^dfs(j-1);
t1=t1^dfs(x-j-a[i]+1);
vis[t1]=true;
}
}
for(int i=0;;++i){
if(!vis[i]){
return sg[x]=i;
}
}
}
int main(){
while(scanf("%d",&n)!=EOF){
rep(i,1,n) scanf("%d",&a[i]);
sort(a+1,a+1+n); ///去重,时间一下缩短一半,这数据....
int t1=0; int b[105]; b[0]=-1;
rep(i,1,n) if(a[i]!=b[t1]) b[++t1]=a[i];
n=t1;
rep(i,1,n) a[i]=b[i]; scanf("%d",&m);
mem(sg,-1);
while(m--){
scanf("%d",&k);
if(!dfs(k))
puts("2");
else
puts("1");
}
}
}

hdu 2999 Stone Game, Why are you always there? (简单SG,有个优化)的更多相关文章

  1. hdu 2999 Stone Game, Why are you always there? 博弈论

    SG函数应用!! 代码如下: #include<cstdio> #include<cstring> #include<iostream> #include<c ...

  2. Stone Game, Why are you always there? HDU - 2999(sg定理)

    题意:给你n个数的集合,表示你每次取石子只能为集合里的数,然后给你一排石子,编号为1~n,每次你可以取相邻位置的连续石子(数量只能为集合里的数),注意石子的位置时不变的,比如把2拿走了,1和3还是不相 ...

  3. Stone Game, Why are you always there? HDU - 2999

    题目链接:https://vjudge.net/problem/HDU-2999 题意:有N堆石头,两个人交替取,每次只能取连续的k个石子,最后没有石子取得人输. 思路:如果我们每次取靠边的k个,那么 ...

  4. hdu 1729 Stone Game

    Stone Game HDU - 1729 题意: 给定n个箱子,每个箱子的容量为si,每个箱子里最初有ci个石子,每次放入石子不能超过放入前的石子数的平方,谁无法继续放入石子就算输.   /* 这是 ...

  5. hdu 4388 Stone Game II

    Stone Game II HDU - 4388 题目大意: 给出n堆物品,每堆物品都有若干件,现在A和B进行游戏,每人每轮操作一次,按照如下规则: 1. 任意选择一个堆,假设该堆有x个物品,从中选择 ...

  6. HDU 4764 Stone(博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764 题目大意:Tang和Jiang玩石子游戏,给定n个石子,每次取[1,k]个石子,最先取完的人失败 ...

  7. 2013长春网赛 1006 hdu 4764 Stone(巴什博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764 题意:Tang 和 Jiang 玩一个游戏,轮流写下一个数,Tang先手,第一次Tang只能写[ ...

  8. HDU 4764 Stone (2013长春网络赛,水博弈)

    Stone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. HDU 4388 Stone Game II 博弈论 找规律

    http://acm.hdu.edu.cn/showproblem.php?pid=4388 http://blog.csdn.net/y1196645376/article/details/5214 ...

随机推荐

  1. HCNP Routing&Switching之路由控制、路由策略和IP-Prefix List

    前文我们了解了IS-IS路由聚合和认证相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15306645.html:今天我们来聊一聊路由控制技术中的路由策 ...

  2. Django学习day07随堂笔记

    今日考题 """ 今日考题 1.必知必会N条都有哪些,每个都是干啥使的 2.简述神奇的双下划线查询都有哪些方法,作用是什么 3.针对多对多外键字段的增删改查方法有哪些,各 ...

  3. 开源的物联网技术平台(Thingsboard)

    1   总体说明 1.1   产品概述 1.1.1 Thingsboard作用 1.置备并控制设备. 2.采集设备数据并进行数据可视化. 3.分析设备数据,触发告警. 4.将数据传输到另一个系统. 5 ...

  4. [源码解析] PyTorch 流水线并行实现 (1)--基础知识

    [源码解析] PyTorch 流水线并行实现 (1)--基础知识 目录 [源码解析] PyTorch 流水线并行实现 (1)--基础知识 0x00 摘要 0x01 历史 1.1 GPipe 1.2 t ...

  5. TP5模型开启事务

    和Db开启事务类似,Db是静态方法 $userObj = new UserModel(); $userObj->startTrans(); try { $userObj->data($da ...

  6. P1013 [NOIP1998 提高组] 进制位

    解析 看到这道题时,有没有想到搜索?然后就是一通码......然后过了. 但是,真的要用搜索吗? 我们可以观察一下.对于n进制中的数ii,如果ii加上某一个数jj会变成两位数,那么可以得到如下不等式: ...

  7. javascript 数组 shuffle 洗牌 打乱顺序

    * php shuffle 打乱数组顺序 Array.prototype.shuffle = function () { "use strict"; var a = [], b = ...

  8. 关于微信小程序爬虫关于token自动更新问题

    现在很多的app都很喜欢在微信或者支付宝的小程序内做开发,毕竟比较方便.安全.有流量.不需要再次下载app,好多人会因为加入你让他下载app他会扭头就走不用你的app,毕竟做类似产品的不是你一家. 之 ...

  9. HTML(思维导图)

  10. 全网最新最详细最明白教程之Spring源码搭建,没有之一,超详细

    相关帖子有很多但是都不是最新的Gradle,我在使用Gradle最新版编译的时候简直坑死我了,弄了好久.接下来给大家详细说一下这个安装过程,以及相关的软件版本号. 相关软件.依赖的版本号: Gradl ...