qaq
設小兔子編號為x fb
i<=
x<=fb
i+1
那麼x的父親即為x−
fbi
因為x之前有fb
i 生小兔啊
直接暴力模擬就行了
#include
#include
#define ll long long
using
namespace
std;
ll fb[200];
int get(ll x)
}}int main()
int m;
scanf("%d",&m);
for(int i=1;i<=m;i++)
else
}printf("%lld\n",a);
}}
鏈結
如何在乙個區間內查乙個數字出現的次數?
瘋狂腦補搞基資料結構(這個叫做資料結構病)
好像沒有合適的quq
於是開始想正常解法。
我們可以開始想一下正常解法。
c[i][j]表示的是i顏色第j個兔子出現的位置。
不是dp
很明顯c[i]裡面存的兔子出現的位置是遞增的。
那麼我們就可以二分查詢了。
查這個顏色裡小於l位置的兔子有幾隻。
顏色裡小於等於位置的兔子有幾隻。
然後一減就是答案了。
等一下,二維陣列開多大?
開vector啊(逃~
至於修改,記錄下來然後交換就行了。
#include
#include
#include
#include
using
namespace
std;
struct nodea[3*110000];
vector
c[3*110000];
int find(int id,int x)
return ans;
}int main()
for(int i=1;i<=q;i++)
int pos1=lower_bound(c[cr].begin(),c[cr].end(),l)-c[cr].begin();
int pos2=upper_bound(c[cr].begin(),c[cr].end(),r)-c[cr].begin();
printf("%d\n",pos2-pos1);
}if(opt==2)
}return
0;}
斐波那契數
入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...
斐波那契數
斐波那契數列 fibonacci sequence 簡介 斐波那契數列 fibonacci sequence 又稱 分割 數列 因 數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 ...
斐波那契數
遞迴演算法是不可取的。由於效率非常低,並且還有棧溢位的風險。應該使用例如以下的迭代解法 int fibonacci unsigned int n if n 1 int i 0,j 1,m unsigned int k for k 2 k n k return m 可是對於這題來說。上面的 還是不行的...