描述
給乙個整數n,n表示貝殼數量,然後a和b輪流取貝殼數,a先手,每次取固定的m個,b後手,每次取剩下貝殼的1/10,向下取整。這樣取貝殼直到取完,問a如果要獲得至少一半的貝殼,問a最少要取的m數量是多少? n <= 1e18
input思路:10output
1
二分m就好了,按取貝殼方式取,最後判斷a獲得的貝殼數量是否大於等於總數的一半
#include
#include
#include
#include
#include
using
namespace std;
const
int maxn =
1e6+7;
typedef
long
long ll;
ll n;
bool
judge
(ll x)
else
//t = (double)tmp;
tmp = tmp - tmp/10;
}if(sum >=
(n+1)/
2)return
true
;else
return
false;}
ll search
(ll low, ll high)
else
low = mid +1;
}return low;
}int
main()
每日一題之 網易遊戲(研發崗)
給你乙個字串,全部都用大寫字母組成,如有按順序排列的連續子串且子串長度大於等於4的時候那就把這種子串表示為開頭的的字元 結尾的字元的形式。比如 xyzabcd 最後轉換為 xyza d 思路 直接模擬,記錄每個子串的起始位置和終止位置 include include include include ...
每日一題之 百度演算法崗筆試題 (KMP求迴圈節)
描述 給定乙個僅由小寫字母組成的長度不超過1e6的字串,將首字母移動到末尾並記錄所得的字串,不斷重複操作,雖然記錄了無限個字串,但其中不同的字串數目是有限的,問不同的字串有多少個?輸入 abab 輸出 解釋 記錄了 abab 和 baba兩個不同的字串 思路 如果字串中有迴圈的話,那麼迴圈的部分是通...
每日一題 2016騰訊筆試題之一
最長回文子串行 題目大概的意思是這樣 例如 cabbeaf 回文子串行有 c,a,aa,bb,aba,abba,e,f,最長的就是abba,所以輸出長度為4 該題目可以轉換為該字串和它反轉的字串的最長公共子串行。最長公共子串行 其定義是,乙個序列s,如果分別是兩個或多個已知序列的子串行,且是所有符合...