最後編輯時間: 2025/04/17
2025/04/17刷題心得整理
▌刷的題目
B – Two-gram、A – Line Trip、A – Sum of Odd Integers、A – Park Lighting、B – Upscaling、B – 01 Game、A – Three Pairwise Maximums、A – Buttons、A – Perfect Permutation、A – Favorite Sequence、B – Normal Problem、B – Lecture、A – Casimir’s String Solitaire、A – Phoenix and Balance、A – The number of positions、A – Robin Helps、A – Gennady and a Card Game、A – Two Vessels、B – Chemistry、C – Less or Equal、A – Jzzhu and Children、A – And Then There Were K
▌個人覺得有趣的題目
- A – And Then There Were K
這題題目是k個不同奇數是否能組成數字n,這需要帶入兩個數學觀念,偶數個奇數無法組成一個奇數,奇數個奇數無法組成一個偶數,因此可以先加入一個判斷式n%2是否等於k%2,之後帶入第二個觀念,k個不同奇數加起來一定大於等於k²,例如1+3+5=9,k=3,3²=9符合條件,1+3+5+7=16,k=4,4²=16符合條件,所以只要將這兩個數學觀念帶進來,即可解出這題,這題說難不難說簡單不簡單,沒這些觀念的絕對寫不出來,不然就暴搜qq - A. Buttons
這題非常簡單,只是我把它複雜化了,題目要求是分a,b,c三個按鈕,c是共用按鈕,大家都可以按,a,b各只有不同人可以按,兩個玩家對決,誰按到別人沒按鈕可以按,誰就贏,我一開始沒想到他們都可以先去按c,所以我程式是讓它先計算a,b才去計算c,導致解出假解,正確答案是先排除c後才去計算a,b,不是先計算a,b才開始計算c,表達的不是很清楚,請見諒:) - A. Phoenix and Balance
這題題目是有n個硬幣,每個硬幣重量是2¹,2²…2n需要計算把這n個硬幣分成兩堆a,b,怎分讓|a-b|最小,其實這題很簡單2n絕對是最大而底下所有加起來必定是2n-1,因此要讓有2n的那一推盡可能的小,因此就是2n加上2¹,2²…到所需數量而剩下的部份就是中間的部份,加起來去算就是差距最小。 -
A. And Then There Were K
這題蠻好玩的,一開始我沒想出來,拿筆算一下才想出來,這題題目是進行位元運算&,N&N-1&N-2…&K讓算出來的答案=0,例如N是5,那5&4&3=0,K就是=3,就是要找出算到哪個數字能讓它變成0,這要牽扯到&是如何運算的,當兩個數字在二進制同個位數都是1,那那個位數算出來就是1,所以要找到一個條件,就是讓所有數值絕對不會跑出兩個1的情況,有此可知,2n&2n-1=0,拿16舉例,16二進制為10000,15二進制為01111,兩個出現全部錯開的情況,就是我們要的,因此只要計算N底下的2n-1是誰即可算出答案