biubiubiu坐地鐵 期望dp

2021-09-19 10:12:51 字數 832 閱讀 3044

biubiubiu 每次出去玩都要去坐地鐵,biubiubiu 觀察到,當地鐵上人比較少的時候,大家都會選擇那些與其他人不相鄰的座位,現在地鐵上有 n 個座位排成一排,1 號座位與 2 號相鄰,n 號座位與 n-1 號相鄰,除了 1 號與 n 號座位,任意 i 號座位都與 i-1 和 i+1 號座位相鄰。現在有源源不斷的人上車,每次只會有乙個人上車,他會在所有的相鄰座位沒有人的座位中隨機選擇乙個坐下,如果沒有滿足條件的座位則不會坐下。然後下乙個人上車。求最後這輛地鐵坐下的人數的期望。

輸入乙個整數n(1<=n<=1000000)。
能夠證明期望是個分數,所以輸出期望模1000000007。
示例1

複製

3
複製

666666673
題解:對於有n個位置的情況,第一次選有n種選擇,選擇第乙個位置,剩下的就是f[n-2],選擇第二個,剩下的是f[n-3]+f[0],選擇第三個,剩下的是f[n-4]+f[1]...以此類推,結果就是n種情況,一共為n+2(f[n-2]+f[n-1]..),儲存一下前n-2的字首和即可

#includeusing namespace std;

typedef long long ll;

const ll mod=1e9+7;

ll f[1000100];

int n;

ll ksm(ll x,ll y)

return res;

}int main()

// cout

return 0;

}

小雨坐地鐵

時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 題目描述 小雨所在的城市一共有 m 條地鐵線,分別標號為 1 號線,2 號線,m 號線。整個城市一共有 n 個車站,編號為 1 n 其中坐 i 號線需要花費 ai...

python地鐵車票 小明坐地鐵python實現

題目要求 單程票價實現 dancheng.py class gongli def init self,km self.km km def each money self money 0 if self.km 0 and self.km 6 money 3 elif self.km 6 and sel...

小雨坐地鐵 (分層最短路 建立虛點)

思路 建立乙個虛點層,題目等價於求虛點層起點到終點的最小花費。同一層邊花費b,虛點層到其他每層花費a。跑一邊dijkstra即可。ac include using namespace std const int n 1e6 5,inf 0x3f3f3f3f struct edgee n int h ...