吉位元2020春招筆試題第二題 排列組合問題

2021-10-03 21:25:12 字數 833 閱讀 2413

吉位元2020春招題目(3.14),排列組合的題目,比較有意思。

題目這麼講:輸入乙個n(1<=n<=1e9),輸出滿足下列條件的序列個數

1)序列由a、b、c、d四個字母組成;

2)序列中a和c的個數和為偶數;

整個序列數比較龐大,最終結果輸出為總序列數模1000000007後的值。

例:n=2時,序列數為8個,有bb、bd、db、dd、aa、ac、ca、cc

輸入資料

2輸出資料

8

多寫幾個n就會發現規律,序列分為兩類:只由b、d兩個字母組成的序列和包含a、c的序列。前一種序列數易得為2^n個。後面乙個序列數比較難求,需要根據序列長度來判斷。它可以被認為是選x個a或c(x為偶數,數量與前一種序列的序列數相同,都是2的n次方),以及n-x個第一種序列交叉組成而成。交叉方式相當於從n個位置中選擇x種位置。

從上面的分析可以看出,兩類序列其實符合同一種情況,總序列數可以由乙個公式得到,即2n∑

x=0n

cn

x2^n\sum_^nc_^x

2n∑x=0

n​cn

x​(x為0到n的偶數)

上面公式可以看到,前一種序列只是後一種序列的特殊情況,即x=0或x=n(n為偶數)時候的情形。

#include

using

namespace std;

intmain()

} cout<<

(sum1*sum2)

%1000000007

<}}

思考花的時間比較長,沒來的及優化演算法,n數字大於10000就超時了。

筆試真題 2023年58春招筆試題

已經好幾個月沒有刷題了,昨天做了58的筆試,感覺題量好大,乙個半小時根本做不了幾個,這還是好多題目都是劍指offer上有的經典題目。一 填空題 2 10個人排成一列,a一定在b和c中間的概率。3 邏輯判斷題,哪個部門是冠軍,乙個人說的全對,乙個人全錯,另乙個對一半。4 樹的先序 中序 後序和層次遍歷...

網易春招筆試題2017 3 25程式設計題(ios)

第一大題,雙核處理,我不知道什麼是什麼型別的題,40 有些東西沒考慮到 程式設計題 雙核處理 一種雙核cpu的兩個核能夠同時的處理任務,現在有n個已知資料量的任務需要交給cpu處理,假設已知cpu的每個核1秒可以處理1kb,每個核同時只能處理一項任務。n個任務可以按照任意順序放入cpu進行處理,現在...

2020屆360春招筆試程式設計題2020 3 24

a和b兩個人在 現在有乙個 箱,裡面有n張中獎票,m張不中獎票。a和b輪流從中抽一張獎票出來。如果有人抽到中獎票就結束,抽到中獎票的人勝利。抽過的獎票會被丟棄。額外的,b每次抽後,會再次抽取一張票並丟棄掉 這張票中獎不算b勝利 現在,a先抽,請問a的勝率,保留4位小數後輸出。如果兩人到最後也沒有抽到...