【博弈论 Nim问题】洛谷 P2197 【模板】Nim 游戏

news/2026/1/25 22:27:04/文章来源:https://www.cnblogs.com/RomanLin/p/19508918

View Post

【博弈论 Nim问题】洛谷 P2197 【模板】Nim 游戏

题目

https://www.luogu.com.cn/problem/P2197

题解

经典 Nim 游戏是数学领域的公平组合数学博弈论问题,公平组合游戏具备以下特征:

  1. 完全性(完全信息)
  2. 确定性(无随机因素)
  3. 相同性(双方操作集合相同)
  4. 有穷性(有限步骤内结束)

核心理论

  • 必败态(P-position):当前局面下,轮到操作的一方无论如何走,都会将对手送入必胜态。即“谁走谁输”(假设对方的应对手段不出现失误)。
  • 必胜态(N-position):当前局面下,操作的一方存在一种走法,能将局面变为必败态送给对手。即“谁走谁赢”。

关键结论
对于一个 Nim 局面 \(a_1,a_2,...,a_n\),计算所有数的二进制异或和:$$value_xor=a_1 ^ a_2 ^ ...^a_n$$
\(value_xor==0\),则该局面为 必败态
\(value_xor!=0\),则该局面为 必胜态

彼之失乃吾之得是一种广义的博弈论思想,意思是对方的失误或损失,自然就是我的所得。这个思想用于作为 Nim 游戏的指导思想很恰当,Nim 游戏有时候并不能直接通过选择让自己胜利,但是可以通过让对方陷入不利的局面(有可能直接是必败态)来达成目的,对方失败就是自己胜利。

参考代码

#include<iostream>int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);int T, n, m, a;std::cin >> T;while (T --) {std::cin >> n;m = 0;for (int i = 0; i < n; ++ i) {std::cin >> a;m ^= a;// 求异或}std::cout << (m ? "Yes\n" : "No\n");// 0为必败态,否则为必胜态}return 0;
}

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

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

相关文章

深度测评8个论文写作工具,MBA必备一键生成论文工具推荐!

深度测评8个论文写作工具&#xff0c;MBA必备一键生成论文工具推荐&#xff01; AI 工具助力论文写作&#xff0c;MBA 人的高效利器 在当前学术环境日益严格的背景下&#xff0c;MBA 学生和研究者们面临着越来越高的论文写作要求。从选题、大纲构建到初稿撰写&#xff0c;再到查…

人类学史上的里程碑 ——《忧郁的热带》书评与推荐:一部跨越七十年的思想经典

人类学史上的里程碑&#xff1a;《忧郁的热带》书评与推荐一部跨越七十年的思想经典在人类学思想的浩瀚星空中&#xff0c;克洛德列维-施特劳斯的《忧郁的热带》犹如一颗永不熄灭的恒星&#xff0c;自1955年问世以来&#xff0c;便以其深邃的哲学思考、精致的文学笔触和开创性的…

Python中的Mixin继承:灵活组合功能的强大模式

Python中的Mixin继承&#xff1a;灵活组合功能的强大模式 1. 什么是Mixin继承&#xff1f;2. Mixin与传统继承的区别3. Python中实现Mixin的最佳实践3.1 命名约定3.2 避免状态初始化3.3 功能单一性 4. 实际应用案例4.1 Django中的Mixin应用4.2 DRF (Django REST Framework)中的…

《算法通关指南:数据结构和算法篇 --- 顺序表相关算法题》--- 1.移动零,2.颜色分类 - 指南

《算法通关指南:数据结构和算法篇 --- 顺序表相关算法题》--- 1.移动零,2.颜色分类 - 指南2026-01-25 22:24 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !import…

2026年宁波GEO优化公司推荐TOP3:从产业适配到效果落地的精准选型指南

2026年宁波GEO优化公司推荐TOP3:从产业适配到效果落地的精准选型指南 宁波的老板们有没有发现?最近问AI“宁波跨境美妆哪家好”“宁波智能安防企业推荐”,出来的总不是自己的品牌——不是产品不行,是GEO优化没选对…

2026年武汉GEO优化公司推荐TOP5:从技术自研到本地产业适配的选商指南

2026年武汉GEO优化公司推荐TOP5:从技术自研到本地产业适配的选商指南 AI搜索早已不是“新鲜词”,但武汉企业想靠GEO抢流量,却总遇到三个核心痛点:要么找的服务商是“贴牌工具”,算法不懂武汉光电子、汽车后市场这…

爷转行了?

爷转行写小说了?(虽然并不算转行,从2021到2026,我已经坚持写作四年半了) 退役之后写了一点的《光影玩家记》,但是感觉剧情过于无聊就断更了,看来我并不擅长写系统文 所以2025年十月多的时候,我开坑了《无声终日…

Forge

Forge​ (/fɔːrdʒ/) is a verb with rich, interconnected meanings. Its core concept revolves around 1) to make or shape (a metal object) by heating and hammering; 2) to create or develop (something st…

2025年教我学英语 - 学

2025年教我学英语 - 学1、学习 - study [ˈstʌdi] 读书 - read [riːd] 写字 - write [raɪt] 背诵 - recite [rɪˈsaɪt] 复习 - review [rɪˈvjuː]2、预习 - preview [ˌpriːˈvjuː] 练习 - practice [ˈprktɪ…

2. Ollama REST API - api/generate 接口详

Ollama 服务启动后会提供一系列原生 REST API 端点。通过这些Endpoints可以在代码环境下与ollama启动的大模型进行交互、管理模型和获取相关信息。其中两个endpoint 是最重要的&#xff0c;分别是&#xff1a;POST /api/generatePOST /api/chat其他端点情况&#xff1a;POST /a…

学霸同款MBA必备AI论文平台TOP8:开题报告写作全测评

学霸同款MBA必备AI论文平台TOP8&#xff1a;开题报告写作全测评 学术AI工具测评&#xff1a;为何需要一份MBA专属榜单 随着人工智能技术的不断进步&#xff0c;AI写作工具在学术研究中的应用日益广泛。对于MBA学生而言&#xff0c;撰写高质量的开题报告不仅是学业要求&#xff…

第三十二周周报

文章目录 摘要Abstract一、论文的基本思想和贡献基本思想主要贡献 二、研究背景三、模型介绍四、Training1.初始化2、数据增强3、平铺策略 总结 摘要 本周阅读了经典图像分割论文 U-Net&#xff0c;重点学习了其网络结构设计与推理策略。论文提出对称的编码器–解码器架构&…

Vibe Coding - 「skills.sh 时代」:Vercel 如何用 Agent Skills 重塑开发者工作流

文章目录概述一、什么是 Agent Skills&#xff1a;给 Agent 装上“专业插件”二、Vercel 的 Agent Skills 生态&#xff1a;三件核心基础设施1. skills CLI&#xff1a;为 Agent 安装“依赖”的命令行工具2. skills.sh&#xff1a;开放的技能目录与排行榜首页3. 开源技能集合&a…

Linux —— 进程概念 - 初识进程

目录 3. 进程 3.1 基本概念和基本操作 3.1.2 描述进程 - PCB 3.1.3 task_struct 3.1.4 查看进程 3.1.5 通过系统调用获取进程的标示符 3.1.6 通过系统调用创建进程-fork初识 3. 进程 3.1 基本概念和基本操作 课本概念&#xff1a;程序的一个执行实例&#xff0c;正在执…

Linux —— 进程概念 - 进程运行、阻塞、挂起状态

3.2 进程状态 3.2.1 Linux内核源代码怎么说 为了弄明白正在运行的进程是什么意思&#xff0c;我们需要知道进程的不同状态。一个进程可以有几个状态&#xff08;在Linux内核里&#xff0c;进程有时候也被叫做任务&#xff09; 下面的状态在kernel源代码里定义&#xff1a; /*…

提示工程架构设计:如何平衡性能与准确性?

提示工程架构设计:如何平衡性能与准确性? 元数据框架 标题 提示工程架构设计:性能与准确性的系统平衡方法论 关键词 提示工程;大语言模型(LLM);性能优化;准确性验证;架构设计;Prompt Compression;反馈循环 摘要 提示工程是大语言模型(LLM)应用的“操作系统…

用c语言写一个nes游戏模拟器 - 教程

用c语言写一个nes游戏模拟器 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco…

人人租苹果17PM监管机回收流程,全国上门回收

相较于普通租赁设备,人人租监管机的核心优势集中在低门槛、高性价比上,精准适配了特定消费群体的需求。首先是审核通过率极高,监管锁的风险兜底作用,让平台对租户的信用要求大幅降低,即使是信用记录空白的白户、信…

基于51单片机的智能停车场车位管理系统 车位引导 实物 DIY

目录 51单片机智能停车场车位管理系统概述核心功能模块硬件搭建要点软件设计关键扩展功能建议注意事项 源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 51单片机智能停车场车位管理系统概述 该系统基于51单片机实现车位检测、引导及管…

Arise

Arise​ (/əˈraɪz/) is a verb that primarily describes something coming into being, becoming evident, or moving upward.​ It signifies the emergence or origin of a situation, condition, or opportunit…