我不是大富翁【牛客tracker  每日一题】
我不是大富翁时间限制2秒 空间限制128M网页链接牛客tracker牛客tracker 每日一题完成每日打卡即可获得牛币。获得相应数量的牛币能在【牛币兑换中心】换取相应奖品助力每日有题做丰盈牛币日益多题目描述提到大富翁游戏就想到环就想到经典的约瑟夫问题作为经典问题其出彩的展示了数学思维在实际问题中的应用启发了一代又一代的算竞人。好了不要再约瑟夫了都是经典问题害的你没法正常的玩大富翁游戏。现在让我们来愉快的玩大富翁吧R a b b i t RabbitRabbit拿到了一张环形的大富翁地图地图被平均划分为了n nn个地块地块的编号以1 11为起点顺时针进行排布。即1 11号地块的顺时针方向依次为2 , 3 , … … 2, 3, ……2,3,……号地块1 11号地块的逆时针方向依次为n , n − 1 , … … n , n−1, ……n,n−1,……号地块由于是环形的所以1 11号地块与n nn号地块相邻如下图所示。游戏过程如下系统会给定一个长度为m mm的行动力序列a 1 , a 2 , … , a m a_1,a_2,…,a_ma1​,a2​,…,am​在第i ( 1 ≦ i ≦ m ) i (1≦i≦m)i(1≦i≦m)回合R a b b i t R RabbitRRabbitR都需要移动a i a_iai​个地块但是他可以自由选择移动的方向换句话说可以自由选择是向逆时针还是顺时针方向移动a i a_iai​个地块。在游戏的开始时R a b b i t RabbitRabbit位于1 11号地块他想知道是否存在这样一种移动方式使得m mm个回合后他依旧在1 11号地块。输入描述每个测试文件仅有一组测试数据。第一行输入两个整数n nn和m ( 1 ≦ n , m ≦ 5000 ) m (1≦n, m≦5000)m(1≦n,m≦5000)表示地块数量和行动回合数。第二行输入m mm个整数a 1 , a 2 , … , a m ​ ( 0 ≦ a i ≦ 2 ⋅ 10 5 ) a_1,a_2,…,a_m​ (0≦a_i≦2⋅10^5)a1​,a2​,…,am​​(0≦ai​≦2⋅105)表示行动力序列。输出描述如果m mm个回合后R a b b i t RabbitRabbit依旧在1 11号地块则输出Y E S YESYES否则请输出N O NONO。您可以以任何大小写形式输出答案例如y E s 、 y e s yEs 、yesyEs、yes和Y e S YeSYeS都将被视为肯定的回答。示例1输入360 3 120 120 120输出YES示例2输入50 5 30 0 10 10 10输出yES示例3输入114 5 14 1 9 1 9输出no备注如果您需要使用P y t h o n PythonPython解题我们建议您在提交时选择p y p y 2 pypy2pypy2或p y p y 3 pypy3pypy3。解题思路本题是环形可达性动态规划的经典模型核心是逐回合维护可能停留的位置集合利用模运算处理环形移动最终检查起点是否仍在集合中。1. 问题等价转化环形地块n nn个地块编号1 ∼ n 1 \sim n1∼n顺时针移动加、逆时针移动减。将地块编号改为0 ∼ n − 1 0 \sim n-10∼n−1起点变为0 00移动后的位置用模n nn运算表达。方向选择每回合给定步数a i a_iai​可以选择 a i a_iai​或− a i -a_i−ai​即下一位置为( c u r r e n t a i ) m o d n (current a_i) \bmod n(currentai​)modn或( c u r r e n t − a i ) m o d n (current - a_i) \bmod n(current−ai​)modn确保非负。可达性状态记第i ii回合后可能位于哪些地块。初始仅在0 00号地块。若最终0 00号地块可达则答案为YES。2. 算法实现逐回合 DP状态表示用一个布尔数组x表示当前回合可能的位置长度n nnx[pos]1表示可以到达该位置。初始x[0]1。状态转移每回合新建布尔数组t全零遍历j ∈ [ 0 , n − 1 ] j \in [0, n-1]j∈[0,n−1]若x[j]1则将t[(j a[i]) % n]和t[(j - a[i] % n n) % n]置为 1。用t替换x进入下一回合。结果判定m mm回合后若x[0]为真则输出YES否则输出NO。3. 复杂度分析时间复杂度O ( n × m ) O(n \times m)O(n×m)。n , m ≤ 5000 n, m \le 5000n,m≤5000最大操作次数约2.5 × 10 7 2.5 \times 10^72.5×107在 2 秒时限内可行。空间复杂度O ( n ) O(n)O(n)两个长度为n nn的布尔数组滚动使用。总结将环形移动转化为模n nn的加减操作用逐回合 DP 维护所有可能到达的位置集合。由于n , m n, mn,m不大直接模拟所有可能路径即可无需贪心或数学构造。代码简要说明输入处理读入n , m n, mn,m和行动力数组a aa。DP 数组初始化vectorll x(n)作为当前回合可达状态x[0]1表示起点。逐回合转移创建临时数组t(n)。遍历j jj若x[j]1计算(j a[i]) % n和((j - a[i]) % n n) % n在t中标记。swap(x, t)更新状态。结果输出检查x[0]的值输出YES或NO。代码内容#includebits/stdc.husingnamespacestd;#defineendl\ntypedeflonglongll;typedefunsignedlonglongull;typedefvectorvectorllvvt;typedefpairll,llpll;constll N1e310;constll INF1e18;constll M1e610;constll mod1e97;voidS(){ll n,m;cinnm;vectorlla(m);for(ll i0;im;i)cina[i];vectorllx(n);x[0]1;for(ll i0;im;i){vectorllt(n);for(ll j0;jn;j){if(x[j]1){t[(ja[i])%n]1;t[((j-a[i])%nn)%n]1;}}swap(x,t);}if(x[0])coutYES\n;elsecoutNO\n;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);ll T1;while(T--)S();return0;}

相关新闻

重新定义你的华硕笔记本:G-Helper带来的轻量级性能革命

重新定义你的华硕笔记本:G-Helper带来的轻量级性能革命

重新定义你的华硕笔记本:G-Helper带来的轻量级性能革命 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, E…

2026/10/2 7:55:09 阅读更多 →
别人的面试题(持续更新)

别人的面试题(持续更新)

promise的本质是什么Promise本质是带状态机的异步结果容器,基于订阅发布模式实现内部维护pending,fulfilled,rejected三种单向凝固状态异步未完成时收集.then()注册的回调,异步完成后立刻触发回调队列then每次返回都是新的promise…

2026/9/25 14:49:02 阅读更多 →
Adobe-GenP破解工具:5分钟免费激活Photoshop、Premiere Pro等Adobe全家桶

Adobe-GenP破解工具:5分钟免费激活Photoshop、Premiere Pro等Adobe全家桶

Adobe-GenP破解工具:5分钟免费激活Photoshop、Premiere Pro等Adobe全家桶 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为Adobe Creative Cloud高…

2026/10/12 10:38:22 阅读更多 →

最新新闻

浏览器取证实战指南:从SQLite数据定位到时间线重建

浏览器取证实战指南:从SQLite数据定位到时间线重建

干了这么多年数字取证,我最大的感受就是:只要嫌疑人用过电脑,不管他多小心,都会留下痕迹。而浏览器,恰恰是这些痕迹最集中、最密集的集散地。可以说,一个浏览器就能还原一个人最近几十天的网络行为轨迹。今…

2026/10/12 19:56:14 阅读更多 →
浏览器取证实战:从SQLite数据库到Cookie解密与痕迹重建

浏览器取证实战:从SQLite数据库到Cookie解密与痕迹重建

1. 浏览器取证:一块硬盘里的“数字人生”接手一台涉案或涉事电脑,第一件事不是翻聊天记录,也不是抠邮件,而是先看浏览器。这不是我个人的偏好,而是浏览器本身的数据特性决定的。浏览器几乎是所有网络行为的“总入口”&…

2026/10/12 19:56:14 阅读更多 →
自动驾驶交通物体检测数据集实战指南:从标注结构到工业级训练避坑

自动驾驶交通物体检测数据集实战指南:从标注结构到工业级训练避坑

简介:本资源是面向自动驾驶算法工程师、计算机视觉研究者及智能交通系统开发者的高精度YOLO格式目标检测数据集,专为多类别交通物体与标志联合识别任务设计,解决复杂道路场景下细粒度感知建模难题。数据包共1878个文件,含938张真实…

2026/10/12 19:56:14 阅读更多 →
VB.NET实战:Excel数据导入ListBox并高效去重

VB.NET实战:Excel数据导入ListBox并高效去重

1. 桌面端数据导入的经典场景拆解做WinForm桌面开发的朋友,大概率都碰过这样一个需求:业务同事丢过来一个Excel文件,里面是几百上千行客户名单、物料编码或者订单明细,要求在一个桌面工具里快速加载、去重、展示,最好还…

2026/10/12 19:56:14 阅读更多 →
轻量级代码评审工具open-code-review:可配置规则与自动化流程实践

轻量级代码评审工具open-code-review:可配置规则与自动化流程实践

1. 从“代码评审”四个字说起:为什么我要折腾一个开源评审工具代码评审这件事,做过几年开发的人都有体会。它表面上是一个技术动作,实际上是一个协作动作,甚至是一个组织动作。你写了一段逻辑,提交上去,另一…

2026/10/12 19:56:14 阅读更多 →
Activiti并行网关详解:BPMN设计、XML配置与并发执行避坑指南

Activiti并行网关详解:BPMN设计、XML配置与并发执行避坑指南

工作流引擎里若是排一个“让人又爱又恨的节点榜”,并行网关大概率能进前三。爱它,是因为它能一次把流程拆成多条并发分支,几个没有先后依赖的任务同时跑,整体耗时从“几个任务之和”变成“最慢的那条分支”;恨它&#…

2026/10/12 19:55:13 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →