2025.1.8 鲜花

Nim 的变种

グランドエスケープ
空飛ぶ羽根と引き換えに 繋ぎ合う手を選んだ僕ら
没有选择飞翔的翅膀 而是选择十指相扣的我们
それでも空に魅せられて 夢を重ねるのは罪か
却仍然向往着天空 反复做着同样的梦 这有错吗
夏は秋の背中を見て その顔を思い浮かべる
夏天望着秋天的背影 心中浮现出了那面庞
憧れなのか、恋なのか 叶わぬと知っていながら
我是在期待吗 这是爱情吗 明明知道无法实现
通り雨が通り雨と 木漏れ日たちが木漏れ日と
阵阵骤雨过后迎来天晴 阳光从树叶的空隙间投来点点光影
名乗るずっとずっとずっと前から あなたはあなたでいたんだろう?
在与你报名相知的很久以前开始 你便已经是个独一无二的存在了吧
重力が眠りにつく 1000年に一度の今日
当大地渐渐失去了重力 在千年一遇的今天
太陽の死角に立ち 僕らこの星を出よう
站在阳光无法触及的边缘 我们离开这颗星球吧
彼が眼を覚ました時 連れ戻せない場所へ
向着在他睁开双眼之时 却再也无法返回的地方
「せーの」で大地を蹴って ここではない星へ
齐声喊着「12..」脚蹬大地 向着其他行星前进
行こう
出发吧!
夏風邪に焦る心が 夏をさらに早送るよ
患上热伤风的我心烦意乱 心中期望夏天能够早日离开
めまぐるしい景色の中 君だけが止まって見えた
瞬息万变的景色之中 只有你保持着原样从未改变
君と出会ったあの日から パタリと夜、夢は止んだよ
从与你邂逅的那天开始 黑夜中的梦境砰然而止
土の中で待ちこがれた 叶えるその時は今だ
在土壤中期盼了许久的那一刻 正是现在这梦想实现之时
重力が眠りにつく 1000年に一度の今日
当大地渐渐失去了重力 在千年一遇的今天
花火の音に乗せ 僕らこの星を出よう
和着烟火之声的节奏 我们离开这颗星球吧
彼が眼を覚ました時 連れ戻せない場所へ
向着在他睁开双眼之时 却再也无法返回的地方
「せーの」で大地を蹴って ここではない星へ
齐声喊着「12..」脚蹬大地 向着其他行星前进
行こう
出发吧!
もう少しで運命の向こう もう少しで文明の向こう
只差一步就是命运的方向 只差一步就是文明的方向
もう少しで運命の向こう もう少しで
只差一步就是命运的方向 只差一步...
夢に僕らで帆を張って 来たるべき日のために夜を越え
为了梦想我们扬帆起航 为了明日的到来跨越无尽黑夜
いざ期待だけ満タンで あとはどうにかなるさと 肩を組んだ
满怀期待的上吧 我们肩并着肩 无论遇到什么困难总会有办法
怖くないわけない でも止まんない
我们并非无所畏惧 而是不愿止步不前
ピンチの先回りしたって 僕らじゃしょうがない
即便危机捷足先登 我们的步伐也不受其左右
僕らの恋が言う 声が言う
我们的爱情在呼喊 我们的声音在回响
「行け」と言う
出发吧! [1]

被 Nim 创思乐。

  • Anti Nim

    拿走最后的人输

    结论:当存在一个数 >1 时,异或和为 0 先手必败,当都是 1 时,奇数个(即异或和为 1)先手必败。

    证明可以考虑 sg 值,也可以直接看 oi-wiki

  • K-Nim

    每次可以选 k 堆各拿任意个

    结论:将所有数的二进制位相加在对于每位 mod(k+1),若都是 0 则先手必败,否则必胜。

    证明类似朴素 Nim。

    例题是 [SDOI2011] 黑白棋

    两两分组,显然是 K-Nim。

    考虑 dp 计数,设 dpi,j 表示当前是第 i 位且之前的 mod(b+1)=0,用了 j 个格的方案数,枚举这一位用几个格并计数分配种类即可。

  • 阶梯 Nim

    每次可以从一堆中选一些扔到前一堆,若是第一堆就扔到,不能操作的人输。

    考虑奇数位置的取值即可。

    证明考虑每次若必败方从偶数放到奇数,则必胜方可以放回偶数、扔掉,不会影响博弈。

    其他阶梯博弈结论也类似。

  • Fibonacci Nim

    只有一堆,第一个人不能取完,后一个人取的个数上限是前一个人取得个数的二倍

    结论:若是 Fibonacci 数则先手必败。

    证明:

    设第 i 项 Fibonacci 数为 Fi

    首先先证明充分性:

    引理:2Fi1>Fi

    Fi 拆成 Fi1+Fi2, 若先手拿到个数超过 Fi2 则后手可以一步拿完。

    否则可以归纳。

    证明必要性:

    引理:1. 齐肯多夫(Zeckendorf)定理:任何正整数都可以表示成若干个不连续的斐波那契数之和。2. 2Fi1<Fi+1

    n 拆成 xF ,并设其从小到大依次是 fi,i[1,x]

    则先手拿走 f1,后手一定没法拿走 f2,考虑充分性的证明可以知道先手一定会拿走 f2 的最后一个,于是归纳。

    定义 Fibonacci 进制就是将一个数按照齐肯多夫(Zeckendorf)定理分解后若存在 Fi 则第 i 位为 1,否则为 0

    例题:[SNOI2020] 取石子

    对于第一次 k 的限制根据证明容易发现若 Flowbit>k 则必败,否则必胜。

    容斥一下套个数位 dp 即可。

P

posted @   5k_sync_closer  阅读(43)  评论(4编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示