馬上就要被樓下超過了思維題專場(二)的題目思路
1.比賽連結
2.題解
A.1 10 100 1000
題目連結
題意
給一個數列1101001000...求第N位是1還是0
思路
只有滿足m*(m-1)/2+1的N才是1,否則就是0,m為非負整數,可以通過逆運算判一下
B.三子棋
題目連結
題意
玩一個3*4的3連bingo,給出第一步下的位置,問需要幾步能贏
思路
找室友玩了一會發現下在角落6步贏,長度3的邊的中間只能平局,剩下的4步贏
C.罐子和硬幣
題目連結
題意
給你n個罐子k個硬幣,你可以任意分配罐子中的硬幣,然後你無法區分罐子,從罐子中取硬幣每次一個,問取出C個硬幣需要多少次?
思路
最開始的想法是將硬幣平均分,如果取得硬幣比較少或者剛好整除都能夠C次取出,否則就要多花n-k%n次但是寫上去交了一發WA了
後來試了一下9 28 28的樣例發現不是在任何情況下都是最優解的,把28個硬幣平均分配在7個罐子中然後再嘗試兩次空罐子明顯更省
仔細思考了一下發現果然有些問題,如果儘量均分的放法,某些罐子放a個,某些放a+1個,當a個的數目很多而且a+1個的數目很少的時候就會出問題,這個時候讓每個罐子都放a+1個,剩下的全空出來,這樣能夠保證最少的查詢空罐子的消耗,把這個結果和之前的那個結果比較一下大小就有結果了。
D.排列轉換
題目連結
題意
兩個長度為n的排列p和s。要求通過交換使得p變成s。代價是交換的距離,求代價
思路
分別計算每一個位數和目標的距離求和,由於是交換,每次會改變兩個點,把求出來的和除以二就可以了
E.數數字
題目連結
題意
統計一下 aaa ⋯ aaa*b的結果裡面有多少個數字d,a,b,d均為一位數
思路
特殊考慮最高位和最低位,剩下的每一位都應該是相同的數字,模擬乘法算一下就出來了。。是a*b%10+a*b/10
F.排船的問題
題目連結
題意
太麻煩了,,,直接看題面吧。。。
思路
不太會。。看了一下題解是二分?只看懂個大概
G.丟手絹
題目連結
題意
約瑟夫環,具體規則看原題吧
思路
輸入一共只有13種。。。好像可以本地打個表?直接模擬就可以吧 和約瑟夫環最終判定還不太一樣 不是很好算。。。
H.數袋鼠好有趣
題目連結
題意
有一堆袋鼠,袋鼠能被裝到大小是他二倍以上的袋鼠裡面,袋鼠只能裝一次,問最後最少看到多少個袋鼠
思路
因為袋鼠被裝之後不能再裝別人,所以貪心,直接從最小的袋鼠開始找第一個能裝下他的袋鼠就可以了
I.Save the problem!
題目連結
題意
給你一個方案總數n,求價格,以及多少種面值的硬幣,每種面值是多少,剛好有n種方案可以湊成這個價格。
思路
這題應該是要special judge的 所以就只用1塊和2塊的硬幣來湊就可以了,推算一下找一下規律就可以發現用1和2湊2n-1是正好n種方案的,輸出就可以了。。。MMP想了好久