BZOJ1299 [LLH邀请赛]巧克力棒

怎么又是博弈论。。。我去

Orz hzwer,这道题其实是可以转化成Nim游戏的!

"第一步:

先从n根巧克力棒中取出m(m>0)根,使得这m根巧克力棒的xor和为0,同时使得剩下的n-m根巧克力棒无论怎么取,xor和都不为0。

m根巧克力棒的xor和为0 <=>把nim游戏的必败状态留给对方

剩下的n-m根巧克力棒无论怎么取,xor和都不为0 <=>  m为巧克力棒的xor和为0的最长子序列

第二步:

第一步以后,对手就面临一个必败状态的nim游戏。

如果他从n-m根中取新的巧克力棒,实际上就是新建一个xor和不为0的nim游戏,这时轮到己方操作只要将这个新的nim游戏取到xor和为0即可。

也就是让对方再次面临所有nim游戏均为必败状态的局面。"

于是只要寻找m是否存在即可,由于n = 14,深搜即可。

 

 1 /**************************************************************
 2     Problem: 1299
 3     User: rausen
 4     Language: C++
 5     Result: Accepted
 6     Time:8 ms
 7     Memory:804 kb
 8 ****************************************************************/
 9  
10 #include <cstdio>
11  
12 using namespace std;
13 int n, a[20];
14 bool flag;
15  
16 inline int read(){
17     int x = 0, sgn = 1;
18     char ch = getchar();
19     while (ch < '0' || ch > '9'){
20         if (ch == '-') sgn = -1;
21         ch = getchar();
22     }
23     while (ch >= '0' && ch <= '9'){
24         x = x * 10 + ch - '0';
25         ch = getchar();
26     }
27     return sgn * x;
28 }
29  
30 void dfs(int x, int cnt, int X){
31     if (x == n + 1){
32         if (!X && cnt) flag = 1;
33         return;
34     }
35     if (flag) return;
36     dfs(x + 1, cnt, X);
37     if (flag) return;
38     dfs(x + 1, cnt + 1, X ^ a[x]);
39 }
40  
41 int main(){
42     for (int t = 1; t <= 10; ++t){
43         flag = 0;
44         n = read();
45         for (int i = 1; i <= n; ++i)
46             a[i] = read();
47         dfs(1, 0, 0);
48         printf(flag ? "NO\n" : "YES\n");
49     }
50     return 0;
51 }
View Code

 

转载于:https://www.cnblogs.com/rausen/p/4052548.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 安装应用程序apk安装不了

今天用测试机的时候遇到这个问题 解决办法&#xff1a; 在设置里面找到应用程序管理安全设置&#xff0c;&#xff0c;【允许未知来源程序安装】 -------------大致以上思路&#xff0c;具体按钮名称我就不重新去找了------------------

华为鸿蒙消费者,王成录谈鸿蒙挑战和华为消费者业务崛起

据 IDC 数据&#xff0c;全球智能手机出货量已连续 4 年下滑&#xff0c;在移动互联网之后&#xff0c;IoT 被认为是下一个更大量级的机会。在此背景下&#xff0c;鸿蒙是华为力图在 IoT 时代继续领先的关键项目&#xff0c;而面对贸易封锁&#xff0c;鸿蒙也成了华为冲出重围的…

读小米的《参与感》书的摘录(一),与大家分享!

1、互联网思维就是口碑为王 其实在过去选择产品&#xff0c;我们也一直会通过朋友或专家的口碑推荐来做决策&#xff0c;但不是主流。而今天口碑为王的背后&#xff0c;我理解我们面临的信息传播发生了一下三个重要的转变&#xff1a;1、信息从不对称转变为对称&#xff1b;2、…

Fragment的保存

2019独角兽企业重金招聘Python工程师标准>>> 一、场景 在一个fragment播放语音文件&#xff0c;一旦设备发生旋转&#xff0c;播放将暂停。因为fragment将重新生成。具体的流程步骤如下&#xff1a; 二、解决的方式 在Fragment的onCreate方法中&#xff0c;设置s…

html+监听+页面滚动到底部,解决HTML5中滚动到底部的事件问题

问题&#xff1a;在H5中&#xff0c;我们有这样的需求&#xff1a;例如有列表的时候&#xff0c;滚动到底部时&#xff0c;需要加载更多。解决方案&#xff1a;可以采用window的滚动事件进行处理分析&#xff1a;如果滚动是针对整个屏幕而言的(不针对于某个界面小块)&#xff0…

SQL Server 存储引擎-剖析Forwarded Records

我们都知道数据在存储引擎中是以页的形式组织的,但数据页在不同的组织形式中其中对应的数据行存储是不尽相同的,这里通过实例为大家介绍下堆表的中特有的一种情形Forwared Records及处理方式. 概念 堆表中,当对其中的记录进行更新时,如果当前数据页无法满足更新行的容量,此时这…

买面包和IoC

今天上午准备去一个阿姨&#xff0c;在那里买面包。这可能是由于小尺寸她的&#xff0c;因此&#xff0c;管理不规范&#xff0c;所以&#xff0c;当你买面包。没有人行。即使所有的大学生&#xff0c;似几乎没有这种意识。。。 但让我感到震惊的是。尽管没有排队&#xff0c;但…

u3d游戏开发视频潭州_游戏美术行业的发展与应用人工智能学院专业介绍及未来前景系列报告会二...

为了让2020级新同学对动漫专业加深认识&#xff0c;更好的规划学习&#xff0c;学院于11月12日6点晚邀请了校企合作单位“369云遮月游戏公司”在长安校区图书馆阶梯教室进行了游戏美术行业的发展与应用的报告会&#xff0c;主题围绕“专业介绍与发展前景”展开&#xff0c;云遮…

html文件怎么生产vm页面,如何使用spring mvc将Html文件转换为.vm(velocity模板)文件...

首先&#xff0c;您需要清楚的是&#xff0c;当您使用MVC时&#xff0c;您可以以任何您想要的方式提供页面。这是您的问题的一个可能的解决方案&#xff0c;这是我自己的应用程序的实际代码。您可能想要像这样提供* .html请求。的web.xmlappServletorg.springframework.web.ser…

统计元音

Problem Description 统计每个元音字母在字符串中出现的次数。 Input 输入数据首先包括一个整数n&#xff0c;表示测试实例的个数&#xff0c;然后是n行长度不超过100的字符串。 Output 对于每个测试实例输出5行&#xff0c;格式如下&#xff1a; a:num1 e:num2 i:num3 o:num4 …

华为谷歌互利合作曝光:或将推Nexus手表

业内传言称&#xff0c;中国的华为科技公司和韩国LG电子公司&#xff0c;今年将为谷歌公司设计两款Nexus品牌的智能手机&#xff0c;这也将是华为科技第一次参加谷歌的Nexus硬件计划。日前&#xff0c;国外权威媒体披露了华为Nexus硬件计划的更多内容。除了一款5.7英寸的智能手…

unity2d随机生成物体_2020 年最好用的一键生成设计神器,全在这里了!

对于很多新手设计师来说&#xff0c;要高效率地完成一件看上去还不错的设计作品&#xff0c;其实并不是一件容易的事。特别是在现实的工作中&#xff0c;对于临危受命的任务&#xff0c;更是很少有人会耐心地等你慢慢去摸索的.……不慌&#xff0c;今天就掏出一份私藏已久的设计…

android MPV架构快速实现,不是所有的MPV都叫GL8,一体化智能座舱体验来袭

进入车内&#xff0c;首先映入眼帘的就是双12.3吋全液晶仪表及中控联屏&#xff0c;出色的画面质感在第一时间吸引了我的注意。当然&#xff0c;全新的一体化智能座舱理念&#xff0c;多屏互联、多维交互也是它的最大亮点之一。全新一代别克GL8家族采用迭代更新的通讯解决方案&…

基于SuperSocket的IIS主动推送消息给android客户端

在上一篇文章《基于mina框架的GPS设备与服务器之间的交互》中&#xff0c;提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介&#xff0c;经常出现无法通信的问题&#xff0c;必须一天几次的手动回收程序池&#xff0c;甚至重起服务器&#xff0c;通常周末接到一个陌生…

教程-Delphi第三方控件安装卸载指南

1 只有一个DCU文件的组件。DCU文件是编译好的单元文件&#xff0c;这样的组件是作者不想把源码公布。一般来说&#xff0c;作者必须说明此组件适合Delphi的哪种版本&#xff0c;如果版本不对&#xff0c;在安装时就会出现错误。也正是因为没有源码&#xff0c;给使用者带来了不…

明细表如何添加重量_关于Revit中明细表标准的导出及导入

Revit中明细表的作用非常大&#xff0c;项目中的数据归类整理及统计都离不开它&#xff0c;今天给大家分享一下如何在Revit中进行明细表标准的导出及导入&#xff0c;减少在实际项目中的重复性工作。1. 首先在Revit中新建一个项目文件&#xff0c;在平面视图中随便画几条管道&a…

鸿蒙还是不是安卓,华为捐赠鸿蒙核心架构!是否形成“三足鼎立”?

发布会已经开完&#xff0c;万物互联时代也已开启。经过测试&#xff0c;鸿蒙系统支持几乎所有的安卓软件&#xff0c;换句话说安卓用户可以无缝过渡到鸿蒙系统&#xff0c;相比安卓&#xff0c;速度更快&#xff0c;耗电量更低&#xff0c;这无疑比安卓系统的体验好出一个档次…

BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划

题目 1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec Memory Limit: 64 MBDescription 奶牛们打算通过锻炼来培养自己的运动细胞&#xff0c;作为其中的一员&#xff0c;贝茜选择的运动方式是每天进行N(1 < N < 10,000)分钟的晨跑。在每分钟的开始&…

Filter基金会

一个、总结 简单的说&#xff0c;Filter的作用就是拦截(Tomcat的)service&#xff08;Request&#xff0c;Response&#xff09;方法。拿到Request、Response对象进行处理。然后释放控制。继续自己主动流转。其运用的还是“分层”的思想。至于为什么要增加这一层&#xff0c;为…

python2处理耗时任务_RabbitMQ Go客户端教程2——任务队列/工作队列

本文翻译自RabbitMQ官网的Go语言客户端系列教程&#xff0c;本文首发于我的个人博客&#xff1a;liwenzhou.com&#xff0c;教程共分为六篇&#xff0c;本文是第二篇——任务队列。这些教程涵盖了使用RabbitMQ创建消息传递应用程序的基础知识。 你需要安装RabbitMQ服务器才能完…