小A取石子【牛客tracker 每日一题】

小A取石子

时间限制:1秒 空间限制:32M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

A AA也听说了取石子这个游戏,也决定和小B BB一起来玩这个游戏。总共有n nn堆石子,双方轮流取石子,每次都可以从任意一堆中取走任意数量的石子,但是不可以不取。规定谁先取完所有的石子就获胜。但是小A AA实在是太想赢了,所以在游戏开始之前,小A AA有一次机会,可以趁小B BB不注意的时候选择其中一堆石子拿走其中的k kk个,当然小A AA也可以选择不拿石子。小A AA先手。双方都会选择最优的策略,请问在这样的情况下小A AA有没有必胜的策略,如果有输出Y E S YESYES,否则就输出N O NONO

输入描述:

一行两个整数N , K N,KN,K,表示分别有N NN堆石子以及小A AA可以拿走的石子个数k kk
接下来N NN个整数表示每一堆的石子个数a i a_iai

1 ≤ n ≤ 10 5 ; 1 ≤ a i ≤ 10 5 ; 0 ≤ k ≤ 10 5 1≤n≤10^5; 1≤a_i≤10^5; 0≤k≤10^51n105;1ai105;0k105

输出描述:

一行一个结果表示小A AA是否有必胜策略,如果有则输出Y E S YESYES,否则输出N O NONO

示例1

输入:

3 2 1 1 1

输出:

YES

示例2

输入:

2 0 5 5

输出:

NO

解题思路

本题基于经典尼姆博弈的核心规则,先手必胜的条件是所有石子堆数量的异或和不为0 00;首先计算所有石子堆的总异或和n u m numnum,若初始n u m ≠ 0 num≠0num=0,小A AA本就有必胜策略,直接标记为可行;随后遍历每一堆石子,若当前堆石子数a [ i ] ≥ k a[i]≥ka[i]k,计算将该堆减少k kk个后的新总异或和n u m a [ i ] ( a [ i ] − k ) num^a[i]^(a[i]-k)numa[i](a[i]k),只要存在任意一堆修改后异或和不为0 00,说明能通过此次操作获得必胜态,同样标记可行;遍历完成后,若标记为可行则输出Y E S YESYES,否则输出N O NONO。该方法时间复杂度为O ( n ) O(n)O(n),完美适配n ≤ 10 5 n≤10^5n105的规模,依托尼姆博弈定理结合单次修改枚举,精准判断小A AA是否存在必胜策略。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefpair<ll,ll>pii;constll p=1e9+7;constll N=2e6+10;intmain(){ll n,k,d;cin>>n>>k;ll num=0;boolok=0;vector<ll>a(n+1);vector<ll>pre(n+1,0);for(ll i=1;i<=n;i++){cin>>a[i];num^=a[i];pre[i]=pre[i-1]^a[i];}if(num)ok=1;for(ll i=1;i<=n;i++){if(a[i]>=k){if(num^a[i]^(a[i]-k))ok=1;}}if(ok)cout<<"YES\n";elsecout<<"NO\n";return0;}

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

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

相关文章

Youtu-2B部署报错?低成本GPU解决方案实战详解

Youtu-2B部署报错&#xff1f;低成本GPU解决方案实战详解 1. 引言&#xff1a;轻量大模型的落地挑战与机遇 随着大语言模型&#xff08;LLM&#xff09;在各类应用场景中的广泛渗透&#xff0c;如何在有限算力资源下实现高效部署&#xff0c;成为开发者关注的核心问题。Youtu…

如何快速解决Arduino ESP32安装失败:终极修复手册

如何快速解决Arduino ESP32安装失败&#xff1a;终极修复手册 【免费下载链接】arduino-esp32 Arduino core for the ESP32 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 Arduino ESP32开发板在3.0.6版本发布后遭遇了安装失败问题&#xff0c;这直接…

国家中小学智慧教育平台电子课本下载终极指南:三步搞定离线教材

国家中小学智慧教育平台电子课本下载终极指南&#xff1a;三步搞定离线教材 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 还在为网络不稳定无法访问电子课本而烦…

ComfyUI + Qwen集成教程:构建儿童向AI绘画系统的完整指南

ComfyUI Qwen集成教程&#xff1a;构建儿童向AI绘画系统的完整指南 1. 引言 随着生成式人工智能技术的快速发展&#xff0c;AI绘画已从专业创作工具逐步走向大众化、场景化应用。在教育、亲子互动和儿童内容创作领域&#xff0c;对安全、友好、富有童趣的图像生成系统需求日…

国家中小学智慧教育平台电子课本批量获取终极解决方案

国家中小学智慧教育平台电子课本批量获取终极解决方案 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 在现代教育信息化浪潮中&#xff0c;如何高效获取权威的电子…

基于STM32的工控项目中Keil添加文件详解

如何在STM32工控项目中正确添加文件&#xff1f;——Keil工程管理实战全解析 你有没有遇到过这样的情况&#xff1a;代码明明写好了&#xff0c;头文件也包含了&#xff0c;可一编译就报错“ fatal error: stm32f4xx_hal.h: No such file or directory ”&#xff1f;或者更离…

从零开始:用DeepSeek-R1-Distill-Qwen-1.5B搭建智能客服系统

从零开始&#xff1a;用DeepSeek-R1-Distill-Qwen-1.5B搭建智能客服系统 1. 引言&#xff1a;为什么选择轻量级本地大模型构建智能客服&#xff1f; 随着企业对数据隐私、响应延迟和部署成本的关注日益提升&#xff0c;传统的云端大模型服务在某些场景下面临挑战。尤其是在金…

Zotero Style插件终极指南:告别文献管理烦恼的5个实用技巧

Zotero Style插件终极指南&#xff1a;告别文献管理烦恼的5个实用技巧 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件&#xff0c;提供了一系列功能来增强 Zotero 的用户体验&#xff0c;如阅读进度可视化和标签管理&#xff0c;适合研究人员和学者。 项目地…

5分钟快速上手WeChatMsg:微信消息管理终极指南

5分钟快速上手WeChatMsg&#xff1a;微信消息管理终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …

Stable Diffusion WebUI 5日精通计划:从AI绘画小白到创作达人

Stable Diffusion WebUI 5日精通计划&#xff1a;从AI绘画小白到创作达人 【免费下载链接】stable-diffusion-webui AUTOMATIC1111/stable-diffusion-webui - 一个为Stable Diffusion模型提供的Web界面&#xff0c;使用Gradio库实现&#xff0c;允许用户通过Web界面使用Stable …

Qwen All-in-One跨平台兼容:Linux/Windows部署对比

Qwen All-in-One跨平台兼容&#xff1a;Linux/Windows部署对比 1. 引言 1.1 业务场景描述 在边缘计算和本地化AI服务日益普及的背景下&#xff0c;如何在资源受限的设备上高效部署多功能AI系统&#xff0c;成为工程实践中的关键挑战。传统方案通常依赖多个专用模型&#xff…

Open Interpreter代码审核:安全执行外部代码的最佳实践

Open Interpreter代码审核&#xff1a;安全执行外部代码的最佳实践 1. 背景与核心价值 随着大语言模型&#xff08;LLM&#xff09;在编程辅助领域的广泛应用&#xff0c;AI驱动的代码生成工具正逐步从“建议者”转变为“执行者”。Open Interpreter 作为一款开源本地代码解释…

Voice Sculptor微服务架构:分布式语音系统设计

Voice Sculptor微服务架构&#xff1a;分布式语音系统设计 1. 技术背景与系统定位 随着自然语言处理和语音合成技术的快速发展&#xff0c;传统单一模型驱动的TTS&#xff08;Text-to-Speech&#xff09;系统已难以满足多样化、个性化的声音生成需求。Voice Sculptor作为基于…

如何快速提取微信聊天数据:打造个人AI的完整指南

如何快速提取微信聊天数据&#xff1a;打造个人AI的完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …

3分钟极速获取!国家中小学智慧教育平台电子课本PDF下载完整教程

3分钟极速获取&#xff01;国家中小学智慧教育平台电子课本PDF下载完整教程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 还在为电子课本无法下载而困扰吗&…

RevokeMsgPatcher深度评测:打破消息撤回限制的智能利器

RevokeMsgPatcher深度评测&#xff1a;打破消息撤回限制的智能利器 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcode.c…

HAL_UART_RxCpltCallback应用项目实例

深入理解STM32串口异步接收&#xff1a;从单字节中断到DMAIDLE的实战演进在嵌入式开发的世界里&#xff0c;UART是我们最熟悉的老朋友。无论是调试打印、传感器通信&#xff0c;还是工业协议交互&#xff0c;它几乎无处不在。但你真的用好了这个“基础外设”吗&#xff1f;当数…

RevokeMsgPatcher 2.1:终极消息防撤回解决方案,轻松掌握聊天主动权

RevokeMsgPatcher 2.1&#xff1a;终极消息防撤回解决方案&#xff0c;轻松掌握聊天主动权 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地…

DCT-Net性能对比:与传统卡通化算法效果评测

DCT-Net性能对比&#xff1a;与传统卡通化算法效果评测 1. 引言 1.1 人像卡通化的技术背景 随着虚拟形象、社交娱乐和数字内容创作的兴起&#xff0c;人像到卡通风格的图像转换&#xff08;Portrait-to-Cartoon Translation&#xff09;成为计算机视觉领域的重要应用方向。用…

亲测Open Interpreter:Qwen3-4B模型让本地编程如此简单

亲测Open Interpreter&#xff1a;Qwen3-4B模型让本地编程如此简单 1. 引言&#xff1a;为什么需要本地AI编程助手&#xff1f; 在当前大模型驱动的开发浪潮中&#xff0c;越来越多开发者依赖云端AI服务完成代码生成、调试与执行。然而&#xff0c;数据隐私、网络延迟、运行时…