描述
小w在計算乙個數列,其中a1=1,a2=2,an+2=an+1+an。儘管他計算非常精準,但很快他就弄混了自己的草稿紙,他找出了一些他計算的結果,但他忘記了這些都是數列中的第幾項。
輸入每行包括數列中的一項a
k(k<=100000)。
總行數t<=30。 輸出
對於每一項a
k,輸出一行包括乙個正整數k表示輸入中數是數列的第幾項。
樣例輸入23
5813樣例輸出 2
3 45 6
真心覺得這個斐波那契顯得不那麼友好
#include #include #define ull unsigned long long
#define n 100001
ull a[n]=;
char b[n];
int main()
{ ull i,j,s;
for(i=2;i
Wannafly挑戰賽A 概率DP
給你乙個長 n 的序列,m 次查詢 每次查詢給乙個 x,然後 從序列的最左端 1 開始,每次隨機的選擇乙個右端點 r,如果兩個端點間的區間和不超過 x 就進行一次分割,然後把左端點變成 r 1,否則一直隨機下去。問這樣分割出來的期望段數 第一行兩個數 n,m 之後一行 n 個數表示這個序列 之後m行...
Wannafly挑戰賽5 補題
a 珂朵莉與宇宙 思路 科學暴力 列舉字首和,同時計算字首和裡面可能出現的完全平方數,匹配字首和 與完全平方數的差值是否在之前的字首和出現,出現了幾次就是存在多少個區間,利用的是連續的性質。include using namespace std typedef long long ll const ...
Wannafly挑戰賽6 鎖
106號房間共有n名居民,他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複製並發給任意多個居民。每個106房間的居民持有若干鑰匙,也就是1到k的乙個子集。如果幾名居民的鑰匙的並集是1到k,即他們擁有全部鎖的對應鑰匙,他們...