http://acm.hdu.edu.cn/showproblem.php?pid=1536

给出能够取的方法序列,然后求基本石子堆问题。

只要用S序列去做转移即可。

注意has初始化的一些技巧

#include <iostream>
#include <vector>
#include <set>
#include <cstdlib>
#define LL long long
using namespace std;
const int N=,NM=;
int sg[N];
bool has[NM];
vector<int> mov; void make_sg()
{
fill(sg,sg+N,);
sg[]=;
for(int i=;i<N;i++)
{
fill(has,has+NM,);//这里初始化只需要初始化S的数目即可,因为如果sg函数要达到k,必然1~k-1的数都被填充才有可能
for(int j=;j<mov.size();j++)
{
if(i-mov[j]>=)
{
has[sg[i-mov[j]]]=;
}
}
for(int j=;j<N;j++)
{
if(has[j]==)
{
sg[i]=j;
break;
}
}
}
}
int main()
{
cin.sync_with_stdio(false);
int k;
while(cin>>k)
{
if(k==)break;
mov.clear();
for(int i=;i<k;i++)
{
int temp;
cin>>temp;
mov.push_back(temp);
}
make_sg();
int m;
cin>>m;
while(m--)
{
int l;
cin>>l;
int v=;
for(int i=;i<l;i++)
{
int temp;
cin>>temp;
v^=sg[temp];
}
if(v==)cout<<'L';
else cout<<'W';
}
cout<<endl;
}
return ;
}

hdu-1536 S-Nim SG函数的更多相关文章

  1. hdu 1536&&1944 S-Nim sg函数 难度:0

    S-Nim Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  2. hdu 1536 S-Nim(sg函数模板)

    转载自:http://blog.csdn.net/sr_19930829/article/details/23446173 解题思路: 这个题折腾了两三天,参考了两个模板,在这之间折腾过来折腾过去,终 ...

  3. hdu 3032 Nim or not Nim? sg函数 难度:0

    Nim or not Nim? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  4. hdu 3032 Nim or not Nim? (SG函数博弈+打表找规律)

    Nim or not Nim? Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub ...

  5. HDU 5724 Chess(SG函数+状态压缩)

    http://acm.split.hdu.edu.cn/showproblem.php?pid=5724 题意: 现在有一个n*20的棋盘,上面有一些棋子,双方每次可以选择一个棋子把它移动到其右边第一 ...

  6. HDU 5724 Chess(SG函数)

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

  7. HDU 1535 S-Nim(SG函数)

    S-Nim Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  8. hdu 3032(博弈sg函数)

    题意:与原来基本的尼姆博弈不同的是,可以将一堆石子分成两堆石子也算一步操作,其它的都是一样的. 分析:由于石子的堆数和每一堆石子的数量都很大,所以肯定不能用搜索去求sg函数,现在我们只能通过找规律的办 ...

  9. 多校6 1003 HDU5795 A Simple Nim (sg函数)

    思路:直接打表找sg函数的值,找规律,没有什么技巧 还想了很久的,把数当二进制看,再类讨二进制中1的个数是必胜或者必败状态.... 打表: // #pragma comment(linker, &qu ...

  10. hdu 1079 Calendar Game sg函数 难度:0

    Calendar Game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

随机推荐

  1. xlua build时 报错处理

    error trpe 'UnityEngine.Lighr' does not contain a definiton for 'sgadowRadius' and no extension meth ...

  2. docker运行jar文件

    一.环境 本地虚拟机安装的centos7 二.安装docker yum install docker-engine 三.开启阿里云加速 docker的镜像仓库在国外,下载会很慢,启用阿里云加速. 在/ ...

  3. 微信网页授权获取用户openid及用户信息

    $code = $_GET["code"];//获取code $appid=“xxxx”;//公众号appid $APPSECRET="xxx";//公众号ap ...

  4. hdu 2838 Cow Sorting

    题意: 给出一个数组,要求把他们排成升序,两个数字交换的代价是x + y,求代价的总和. 思路: 简单的逆序对变形,树状数组维护小于的cnt和sum即可. 代码: #include <stdio ...

  5. Linux Maven安装

    Maven 官网,下载maven 包 http://maven.apache.org/download.cgi 下载完成:apache-maven-3.6.1-bin.tar.gz 解压到自定义目录: ...

  6. Mysql复制一个数据库到另一个数据库

    mysqldump -u root -p source_db > /home/db_bak.sql #导出数据库 123456 #输入数据库密码 扩展: mysqldump -u root -p ...

  7. 解决jmeter中文乱码的三种方法

    1.在Jmeter中的Http请求中,在内容编码后填入“utf-8”. 2.在本地文件存储Jmeter的bin目录下,修改jmeter.properties文件. (1)用记事本打开jmeter.pr ...

  8. Eclipse中tomcat启动时报jar包 it's not a class错误;

    Console报错如上: 解决方法: 在Eclipse中Servers文件夹下 对应的项目文件中catalina.properties文件中tomcat.util.scan.DefaultJarSca ...

  9. Sql语法注意事项

    #分组 group by 作用:group by 子句可以将结果集按照指定的字段值一样的记录进行分组,配合聚合函数 可以进行组内统计的工作. 注意1:当在select中时,查询的内容中如果包含聚合函数 ...

  10. Java中的String为什么是不可变的? -- String源码分析

    众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不能改变状态的意思是, ...