洛谷4101 [HEOI2014]人人盡說江南好(博弈)(奇偶性)
題目
特性
這題跟奇偶性有關,別想多了。。。
題解
博弈-奇偶性
我也不知道為什麼,反正拖到最慢一定是最優。
那麼拖得最久的步數有大小恰好為m的塊每塊貢獻m-1步,剩餘n%m(為0特判)個石頭的貢獻n%m-1步,總步數為n/m*(m-1)+(n%m==0?0:n%m-1)。
步數為奇偶就決定了誰贏。
程式碼
#include<cstdio> using namespace std; int main() { int T;scanf("%d",&T); while(T--) { int n,m;scanf("%d %d",&n,&m); int step=n/m*(m-1)+(n%m==0?0:n%m-1); printf("%d\n",!(step&1)); } return 0; }
相關推薦
洛谷4101 [HEOI2014]人人盡說江南好(博弈)(奇偶性)
題目 洛谷4101 [HEOI2014]人人盡說江南好 特性 這題跟奇偶性有關,別想多了。。。 題解 博弈-奇偶性 我也不知道為什麼,反正拖到最慢一定是最優。 那麼拖得最久的步數有大小恰好為m的塊每塊貢獻m-1步,剩餘n%m(為0特判)個石頭的貢獻n%m-1步,總步數為n/m
bzoj3609 [Heoi2014]人人盡說江南好
main end 數據 -- 最有 include 情況下 article lan Description 小 Z 是一個不折不扣的 ZRP(Zealot Round-game Player,回合制遊戲狂熱玩家),最近他 想起了小時候在江南玩過的一個遊戲。
BZOJ3609 [Heoi2014]人人盡說江南好 【博弈】
com heoi2014 ons bzoj3 HR const out esp red 題目鏈接 BZOJ3609 題解 我們假設最後合成若幹個\(m\),和\(n \mod m\),此時合成次數是最多的,也唯一確定勝利者 可以發現,在輪流操作的情況下,勝利者一定可以將終態
[BZOJ3609][Heoi2014]人人盡說江南好
行為 最有 space 石頭 合成 情況下 而且 一行 namespace Description 小 Z 是一個不折不扣的 ZRP(Zealot Round-game Player,回合制遊戲狂熱玩家), 最近他 想起了小時候在江南玩過的一個遊戲。
BZOJ 3609: [Heoi2014]人人盡說江南好
神分析...... https://blog.csdn.net/u010600261/article/details/53186407 #include<cstdio> using namespace std; int main(){ int T; scanf("%d",&a
洛谷4103 HEOI2014大工程(虛樹+dp)
題目連結 又是一道虛樹好題啊 我們建出來虛樹,然後考慮dp過程,我們分別令 s u m
洛谷P4859 已經沒有什麽好害怕的了 [DP,容斥]
|| txt 統一 rst tdi mod online org first 傳送門 思路 大佬都說這是套路題……嚶嚶嚶我又被吊打了\(Q\omega Q\) 顯然,這題是要\(DP\)的。 首先思考一下性質: 為了方便,下面令\(k=\frac{n+k}{2}\),即有
全排列(洛谷1061 Jam的計數法or NOIP 2006 普及組 第三題)
div 順序 pre highlight 格式 其中 字符 是個 true Jam是個喜歡標新立異的科學怪人。他不使用阿拉伯數字計數,而是使用小寫英文字母計數,他覺得這樣做,會使世界更加豐富多彩。 在他的計數法中,每個數字的位數都是相同的(使用相同個數的字母),英文字母按
洛谷P3374 【模板】樹狀數組 1(CDQ分治)
size 結果 pri amp fine open sum turn 二維 題目描述 如題,已知一個數列,你需要進行下面兩種操作: 1.將某一個數加上x 2.求出某區間每一個數的和 輸入輸出格式 輸入格式: 第一行包含兩個整數N、M,分別表示該數列數字的個
洛谷P3402 【模板】可持久化並查集(可持久化線段樹,線段樹)
std 樹節點 https case 深度 build eof spa 復雜度 orz TPLY 巨佬,題解講的挺好的。 這裏重點梳理一下思路,做一個小小的補充吧。 寫可持久化線段樹,葉子節點維護每個位置的fa,利用每次只更新一個節點的特性,每次插入\(logN\)個節點,
洛谷P1919 【模板】A*B Problem升級版(FFT快速傅裏葉)
題目 計算 printf n) freopen sam 升級 double 輸入輸出格式 題目描述 給出兩個n位10進制整數x和y,你需要計算x*y。 輸入輸出格式 輸入格式: 第一行一個正整數n。 第二行描述一個位數為n的正整數x。 第三行描述一個位數為n的
洛谷P2252 取石子遊戲(威佐夫博弈)
5.0 兩種 條件 你是 string 初始 個數 取石子遊戲 一是 題目背景 無 題目描述 有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在兩堆中同時取走相同數量的石子。最
【刷題】洛谷 P3834 【模板】可持久化線段樹 1(主席樹)
!= tchar 這樣的 信息 reg har mem hair define 題目背景 這是個非常經典的主席樹入門題——靜態區間第K小 數據已經過加強,請使用主席樹。同時請註意常數優化 題目描述 如題,給定N個正整數構成的序列,將對於指定的閉區間查詢其區間內的第K小值。
洛谷P1919 【模板】A*B Problem升級版(FFT)
targe 空間 break 這就是 bre color show print lex 傳送門 話說FFT該不會真的只能用來做這種板子吧…… 我們把兩個數字的每一位都看作多項式的系數 然後這就是一個多項式乘法 上FFT就好了 然後
洛谷P1966 火柴排隊 貪心+離散化+逆序對 (待補充QAQ
desc -h getchar() 次數 name 距離 symbol -o i++ 題目描述 description 涵涵有兩盒火柴,每盒裝有 n 根火柴,每根火柴都有一個高度。 現在將每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 兩列火柴之間的距離定義為:∑(
洛谷P1807 最長路_NOI導刊2010提高(07) 最長路
pro ace prior show str back con 去掉 esp 傳送門 把邊的權值改為負的,然後跑一遍最短路,對得到的結果取負就行了。忽然意識到邊的權值變為負的之後就不能用dijkstra了,因該用spfa,不過把dijkstra裏判斷是否進入過堆的語句去掉也
#dijkstra+zkw線段樹#洛谷 4779 洛谷 1339 【模板】單源最短路徑(標準版)熱浪
分析 首先為什麼要說這種方法呢,因為根據模板,zkw線段樹優化比STL堆快了一倍,所以說在此推薦我的熱浪題解 程式碼 #include <cstdio> #include <cctype> #include <algorithm> #
2018.10.23【SCOI2015】【洛谷P4251】【BZOJ4443】小凸玩矩陣(二分答案)(二分圖匹配)
洛谷傳送門 解析: 並不知道這道題為什麼在洛谷上是紫題,感覺好水啊。 思路: 把行和列分別當做兩部分圖,中間連邊,可以發現這是一個二分圖匹配。 既然要求kkk大值最小,顯然想到二分。那就是第n−k+1
【洛谷】P3391 【【模板】文藝平衡樹(Splay)】
個數 mes 區間 翻轉 kth rand() 中序 clu span 文藝平衡樹的Fhq-Treap(無旋treap)做法 與普通平衡樹不同的是,這裏平衡樹需要維護的是一個序列,怎麽辦呢? 題解 平衡樹的性質:無論哪個操作都不會改變樹的中序遍歷 所以,對於一個序列平衡
洛谷 P1919 【模板】A*B Problem升級版(FFT快速傅立葉)
題目來源 吐槽下P3803都是紫題... 真心好寫,本想一遍過的...但是 我真是太菜了... 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int MAXN=200000; 4 const dou