日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【牛客 - 280A】勘测(fib数列,思维,打表)

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【牛客 - 280A】勘测(fib数列,思维,打表) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題干:

Actci偶然發現了一個礦洞,這個礦洞的結構類似與一棵二叉樹,Actci發現的礦洞恰好位于根節點處,為了盡快挖掘,Actci找來了她的小伙伴們來幫忙,由于地質原因,每天小伙伴們只能打通到一條到子節點的道路(不消耗時間),也就是說每天一個節點只能向一個子節點建設道路,走一條路需要一天的時間,當發現一條道路后,會有一部分小伙伴選擇留下來繼續勘測,假設小伙伴們有無數個,樹的深度足夠大,問第n天最多共建設幾條道路。

輸入描述:

一行,一個數n。

輸出描述:

一行,一個數表示最多建設的道路數,答案對 10000000007 取模。

示例1

輸入

復制

2

輸出

復制

3

說明

樣例解釋: 設n號點的子節點編號為n×2和n×2+1,根節點編號為1. 第一天1->2,在1,2處留有一部分人,道路數為1。 第二天1->3,2->4,在2,3,4處留有人,道路數為3.

示例2

輸入

復制

100

輸出

復制

6531708670

備注:

數據范圍: 對于100%的數據保證 n ≤ 5×106

?

解題報告:

? 模擬出前幾項打表發現是個fib數列有關。

AC代碼:

#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #define ll long long #define pb push_back #define pm make_pair #define fi first #define se second using namespace std; const int MAX = 5e6 + 5; ll mod = 10000000007; ll f[MAX]; int main() {int n;cin>>n;f[1]=1;for(int i = 2; i<=n+10; i++) {f[i]=f[i-1]+f[i-2];f[i]%=mod;}printf("%lld\n",(f[n+3]+mod-2)%mod);return 0 ;}

?

總結

以上是生活随笔為你收集整理的【牛客 - 280A】勘测(fib数列,思维,打表)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。