【HDOJ1536】S-Nim(博弈)_1536 博弈 csdn-程序员宅基地

技术标签: Nim  博弈  sg  组合博弈  

记录一个菜逼的成长。。

大致题意:
给你一个a数组 每次可以取a[i]个,q次询问,每次询问 共有m堆,因为sg函数是一堆的,所以将每堆的sg值异或就是答案。

#include <bits/stdc++.h>
using namespace std;
const int maxn = 10000 + 10;
int s[110];
int sg[maxn];
bool Hash[maxn];   //bool 换成 int 就会超时。。原因在于sg_solve函数里的memset..
void sg_solve(int *a,int n)
{
    memset(sg,0,sizeof(sg));
    for( int j,i = 1; i <= maxn - 5; i++ ) {
        memset(Hash,0,sizeof(Hash));
        for( j = 0 ; j < n; j++ ){
            if(i - a[j] >= 0)Hash[sg[i-a[j]]] = 1;
        }
        for( j = 0; j <= maxn - 5; j++ )
            if(!Hash[j])break;
        sg[i] = j;
    }
}
int main()
{
    int n,m,ans,q;
    while(~scanf("%d",&n),n){
        for( int i = 0; i < n; i++ )
            scanf("%d",s+i);
        sg_solve(s,n);
        scanf("%d",&q);
        while(q--){
            scanf("%d",&m);
            ans = 0;
            for( int i = 0,x; i < m; i++ ){
                scanf("%d",&x);
                ans ^= sg[x];
            }
            printf("%c",ans?'W':'L');
        }
        puts("");
    }
    return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/almsh/article/details/52136070

智能推荐

SQL Server导入导出不丢主键和视图的方法_sqlyog导出数据库时忽略主键-程序员宅基地

文章浏览阅读1k次。SQL Server导入导出不丢主键和视图的方法SQLServer导入导出SQLServer导入导出工具/原料使用MicrosoftSQLServerManagementStudio导入导出数据。直接使用MicrosoftSQLServerManagementStudio导入导出数据会丢失主键、视图等等。正确的保存方法如下:一、选择本地的..._sqlyog导出数据库时忽略主键

13位时间戳接口(淘宝、京东、苏宁、华为、美团)2023-4-2更新_京东时间戳-程序员宅基地

文章浏览阅读1.1w次,点赞16次,收藏59次。淘宝http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp苏宁 http://quan.suning.com/getSysTime.do_京东时间戳

微信小程序:uni-app 小程序打包超过2M限制的方法—分包加载_uni-app有没有必要分包-程序员宅基地

文章浏览阅读1.8w次,点赞4次,收藏32次。起初小程序上线时,微信限制了代码包不能超过1MB,后来功能变大变成了2M了,限制大小是出于对小程序启动速度的考虑,希望用户在使用任何一款小程序时,都能获得一种“秒开”体验。但是,2MB也限制了小程序功能的扩展,小程序业务的发展可能需要更大的体积。为了解决这个问题,微信推出了—分包加载。_uni-app有没有必要分包

Git从入门到放不下_git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前-程序员宅基地

文章浏览阅读366次。Git简介Git是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用Git来做自己的文档版本管理工具。2013年,淘宝前端团队开始全面采用Git来做项目管理,我也是那个时候开始接触和使用,从一开始的零接触到现在的重度依赖,真是感叹Git的强大。Git的api很多,但其实平时项目中90%的需求都只需要用到几个基本的功能即可,所以本文将从实用主义和深入探索2个方面去谈谈如何在项目中使用Git..._git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前

SM2(国密)非对称(公钥私钥)在线加密解密_sm2在线加密-程序员宅基地

文章浏览阅读6.9k次。SM2是中国国产的公钥私钥加解密算法,采用的是ECC 256位的一种,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法_sm2在线加密

BurpSuite安装和配置_burpsuite社区版-程序员宅基地

文章浏览阅读969次,点赞20次,收藏18次。BurpSuite安装和配置_burpsuite社区版

随便推点

贡献一个 Laravel 树形结构管理包 ClosureTable-程序员宅基地

文章浏览阅读1k次。About优雅的树形数据结构管理包,基于Closure Table模式设计.github 欢迎不吝StarFeatures优雅的树形数据设计模式数据和结构分表,操作数据不影响结构一个Eloquent Trait操作简单无需修改表,兼容旧数据完善的树操作方法支持生成树形数据支持多棵树并存(多个根)支持节点/树修复支..._laravel tree

casperjs使用说明-使用命令行_casperjs清除缓存-程序员宅基地

文章浏览阅读1.7k次。Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项 但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允许你很容易的使用他的参数让我们来看这个简单的casper脚本:var casper = require("casper").create();casper.echo("Casper CLI passed_casperjs清除缓存

股票量化交易软件:什么是趋势,行情结构是基于趋势还是横盘?_横盘的股票是被量化了吗-程序员宅基地

文章浏览阅读62次。他们认为:“好吧,我简单地令获利成交的平均规模比亏损成交的平均规模大两倍,并开仓 ... 或是说,在移动平均线的交点处(此处的入场算法并不重要)。由于赫兹股票量化交易的价格变化以点数(最小可能的价格变化)为基础,并且利润取决于价格已覆盖了多少点数,因此我们需要远离以蜡烛/柱线表示价格的标准方式,因为它们会极大地扭曲图形,令过程难以理解。在经济学中,趋势是经济指标的总体方向。这意味着,如果获利成交的概率为 50%,而获利成交的平均大小等于亏损成交的大小,则期望值为 0,这意味着赫兹股票量化一无所获。_横盘的股票是被量化了吗

ICCV 2023|PViC:构建交互谓词视觉上下文,高效提升HOI Transformer检测性能_predicate visual context-程序员宅基地

文章浏览阅读216次。在本文中,作者首先分析了现有基于DETR框架的两阶段HOI检测器中的视觉特征建模效果,并得出结论,它们的主要弱点是缺乏与当前谓词动作相关的上下文信息,因为它们原来是专门针对定位任务设计和训练的。因此本文提出了一种改进的设计,通过交叉注意力将图像特征重新引入人-物体对表示中,为此,本文作者对注意力计算中的键和查询向量的构建进行了重新设计,并引入边界框的位置编码作为空间引导,来实现更加明确的计算人-物交互的交叉注意力。_predicate visual context

KVM安装Windows11系列(一)_kvm windows-程序员宅基地

文章浏览阅读9k次,点赞4次,收藏22次。本教程系列为KVM安装Windows11,会分成两部分,第一部分会跳过Windows11的硬件要求TPM和安全启动,第二部分会安装TPM模拟器进行模拟。_kvm windows

SiamFT:通过完全卷积孪生网络进行的RGB红外融合跟踪方法-程序员宅基地

文章浏览阅读4.7k次,点赞11次,收藏52次。SiamFT:通过完全卷积孪生网络进行的RGB红外融合跟踪方法_siamft

推荐文章

热门文章

相关标签