Codeforces Round #726 (Div. 2) D. Deleting Divisors 博弈
傳送門
文章目錄
- 題意:
- 思路:
題意:
給你一個數(shù)nnn,有兩個人博弈,每次可以將nnn減去一個nnn的因子,這個因子不能為111或nnn。當(dāng)不能操作的人輸?shù)粲螒?。問你先手贏還是后手贏。
思路:
這個題多寫幾項很容看出來規(guī)律,但是并不了解其原理,所以寫個博客記錄一下。
分以下三種情況討論:
(1)n(1)n(1)n是奇數(shù),此時nnn的因子都是奇數(shù),設(shè)減去的數(shù)為ddd,那么得到的數(shù)為x=n?dx=n-dx=n?d,xxx一定為偶數(shù),而且不為222的冪次。
(2)n(2)n(2)n是偶數(shù)且不是222的冪次,那么nnn一定含有某個因子為奇數(shù),那么我們可以將nnn減去一個奇數(shù),得到的數(shù)一定為奇數(shù)。
到這里我們可以證一下為什么先手的nnn是偶數(shù)且不是222的冪次的時候是必勝的。
由于nnn是偶數(shù)且不是222的冪次,那么我們可以將他變成奇數(shù),而奇數(shù)變成的數(shù)只能是偶數(shù)且不是222的冪次,或者當(dāng)前的奇數(shù)為一個質(zhì)數(shù)不能再變化,這個時候后手一定是輸了,否則我們一直將其變成奇數(shù),一直到變成一個質(zhì)數(shù)為止,所以先手必勝。
(3)n(3)n(3)n是222的冪次,首先給出結(jié)論,當(dāng)冪次為偶數(shù)的時候先手必勝,否則必敗,下面給出證明。
首先我們可以將其變成n/2n/2n/2或者變成一個偶數(shù)且不是222的冪次。先看變成一個偶數(shù)且不是222的冪次的情況,這樣相當(dāng)于放棄勝利了,把必勝態(tài)扔給了對手(上面已經(jīng)證明這樣是必勝的)。那么我們肯定是變成n/2n/2n/2,一直到只剩一個222的時候停止,所以冪次為偶數(shù)的時候先手必勝。
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #726 (Div. 2) D. Deleting Divisors 博弈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生三七的功效与作用、禁忌和食用方法
- 下一篇: Codeforces Round #72