news 2026/3/13 16:26:42

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小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;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 0:59:16

纯算法AI绘画靠谱吗?AI 印象派艺术工坊生产环境部署实测

纯算法AI绘画靠谱吗&#xff1f;AI 印象派艺术工坊生产环境部署实测 1. 引言&#xff1a;当计算摄影学遇见印象派艺术 在深度学习主导图像生成的今天&#xff0c;是否还能用纯算法逻辑实现高质量的艺术风格迁移&#xff1f;大多数AI绘画工具依赖庞大的神经网络模型和GPU推理引…

作者头像 李华
网站建设 2026/3/13 15:15:36

Ghost Downloader 3技术架构解析与并发下载实践

Ghost Downloader 3技术架构解析与并发下载实践 【免费下载链接】Ghost-Downloader-3 A multi-threading async downloader with QThread based on PyQt/PySide. 跨平台 多线程下载器 协程下载器 项目地址: https://gitcode.com/GitHub_Trending/gh/Ghost-Downloader-3 …

作者头像 李华
网站建设 2026/3/13 17:17:36

RevokeMsgPatcher完整使用手册:5步掌握防撤回核心技术

RevokeMsgPatcher完整使用手册&#xff1a;5步掌握防撤回核心技术 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcode.co…

作者头像 李华
网站建设 2026/3/13 23:08:27

Qwen3-Embedding-4B技术剖析:EDS token向量提取

Qwen3-Embedding-4B技术剖析&#xff1a;EDS token向量提取 1. 模型概述与核心定位 Qwen3-Embedding-4B 是阿里通义千问&#xff08;Qwen&#xff09;系列中专为文本向量化任务设计的中等规模双塔模型&#xff0c;参数量为40亿&#xff08;4B&#xff09;&#xff0c;于2025年…

作者头像 李华
网站建设 2026/2/26 23:48:12

RevokeMsgPatcher终极指南:再也不怕消息被撤回

RevokeMsgPatcher终极指南&#xff1a;再也不怕消息被撤回 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcode.com/GitHu…

作者头像 李华