牛客小白月賽2 E 是是非非 尼姆博弈

2022-05-14 20:35:46 字數 1111 閱讀 3549

坎為水,險陽失道,淵深不測;離為火,依附團結,光明絢麗。

坎卦:水洊至,習坎;君子以常德行,習教事。一輪明月照水中,只見影兒不見蹤,愚夫當財下去取,摸來摸去一場空。

離卦:明兩作,離,大人以繼明照四方。官人來佔主高公升,庄農人家產業增,生意買賣利息厚,匠藝佔之大亨通。

有一些石子堆,第堆有

個石子。你和算卦先生輪流從任一堆中任取若干顆石子(每次只能取自一堆,並且不能不取),取到最後一顆石子的人獲勝。 

算卦先生來問你,如果你先手,你是否有必勝策略?若是改動其中幾個石子堆中石子的數量呢?

第一行兩個正整數

,表示有

個石堆,

次操作。 

第二行個整數,第

個數表示第

個石堆初始有

個石子。 

接下去行,每行兩個正整數

,表示把第

堆石子的個數修改成

。操作是累計的,也就是說,每次操作是在上一次操作結束後的狀態上操作的。

共行,輸出每次操作之後先手是否有必勝策略。

如果有,輸出

,否則輸出

。 示例1

複製

5 4

6 7 3 4 5

1 62 1

2 45 5

複製

kan

kanli

li

思路:1. 使用 尼姆博弈的結論,所有石子 異或 不為零 先手有必勝策略。  

2. 由於進行 q 次詢問,不停改變石子數量,我們不可每次遍歷一遍進行異或操作,利用異或的定義(x^x=0   0^x=x),只需要在舊資料上異或要改變石子數量的舊值,就相當於從原來的石子堆去掉了那個,然後於新的石子數量進行異或即可。

ac碼:

1 #include 2

using

namespace

std;3];

4int

main()

12int

x,y;

13for(int i=0;i)

22return0;

23 }

牛客小白月賽2 E 是是非非(尼姆博弈)

坎為水,險陽失道,淵深不測 離為火,依附團結,光明絢麗。坎卦 水洊至,習坎 君子以常德行,習教事。一輪明月照水中,只見影兒不見蹤,愚夫當財下去取,摸來摸去一場空。離卦 明兩作,離,大人以繼明照四方。官人來佔主高公升,庄農人家產業增,生意買賣利息厚,匠藝佔之大亨通。有一些石子堆,第堆有 個石子。你和算...

牛客小白月賽43 E

有數字 1 9,每個數字的個數分別為 cnt1,cnt2,cnt3,cnt9。計算出 滿意的集合 的個數。滿意的集合 定義 選出的數存在一種排列方式,其拼接起來後表示的十進位制整數,能被 3整除,例如集合 包含了 2 個數字 3,1 個數字 6 可以有排列 代表十進位制下的整數 633,能被 3 整...

牛客OI賽制測試賽2 E題

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 給定括號長度n,給出一串括號 只包含小括號 計算出最少的交換 兩兩交換 次數,使整個括號序列匹配。我們認為乙個括號匹配,即對任意乙個 在其左側都有乙個 與...