遞推 通話調研

2021-06-19 18:28:34 字數 1450 閱讀 9712

time limit: 1 sec  

memory limit: 128 mb

submit: 254  

solved: 36 [

submit][

status][

web board]

埃森哲的小q最近在做市場調研,每天要打很多的**。一天打的累了,正在喝咖啡休息。不過愛動腦筋的小q的腦袋可沒有閒著,他在思考這樣一件事:如果一共有n個人(編號1-n),假設所有人都相互認識。每個人都擁有一部**,且每時每刻他們都有可能在跟另乙個人通話(當然也可以沒有打**而在幹別的事情)。

我們假設每次通話只限於兩人通話,則在某個時刻,我們突然檢查所有人的狀態,我們想知道所有人的通話狀態數有多少種。舉個栗子(為什麼是栗子!):當前有2個人,則在某個時刻,我們突然檢查這2個人的狀態,則總共有2種情況,要麼1號和2號在通話,要麼各自在做著別的事情。

當然聰明的小q想的問題不會這麼簡單,小q還會給出更多的約束,即已知在檢查的那個時刻,有m個人一定不在通話中。現在請你計算一下總的情況數。

多組測試資料。

對於每組資料:

第1行:輸入兩個整數n和m(1 <= n <= 1,000,000, 0 <= m <= n)。

第2行:輸入m個整數ai(1 <= ai <= n)分別代表那些肯定不在通話的人編號,我們保證輸入序列沒有重複數。

對於每組資料,輸出一行,包含乙個整數,代表總的情況數。由於最後答案過大,請把答案對1,000,000,007(1e9 + 7)取模後輸出。

2 122 0

12定義函式f(x,y)為共n個人,有m個人一定沒有打**時,總的情況數。

發現,這m個人不會對剩下的人造成影響,而且他們只存在一種情況,都不打**。

所以轉化為,f(x,y) = f(x-y,0)。定義f(x) = f(x,0)

如何計算f(x)?

假設有序。若第x個人不打**,則同上討論結果,轉化為相同子問題f(x-1)。若第x個人打**,則他只能和剩餘x-1個人中乙個人打**,有x-1種選擇。並且這兩個人都不能再和別人打**,因此轉化為相同子問題f(x-2)。則f(x) = f(x-1)+(x-1)*f(x-2)。

#include #include #include inline int getint()

do res=(res<<3)+(res<<1)+tmp-'0';

while (isdigit(tmp=getchar()));

return sgn?res:-res;

}typedef long long ll;

const ll mod = 1000000007;

ll f[1000010];

int main()

int n,m;

bool first = true;

while (scanf("%d%d",&n,&m)==2)

return 0;

}

通話降噪ENC

通話降噪有enc及cvc,今天則介紹一下enc降噪技術,enc environment noise cancellation 環噪消除,主要是針對通話中針對環境雜訊進行處理,利用一些自適應濾波技術或者beamforming指向增強技術進行將通話語音更加清晰的傳送給對方 當下通話降噪技術分為三種 be...

普通話讀音

草 第三音調 cao 此 第三音調 ci 次 第四音調 ci 詞 第二音調 ci 刺 第四音調 ci 磁 第二音調 ci 辭 第二音調 ci 瓷 第二音調 ci 慈 第二音調 ci 賜 第四音調 ci 茨 第二音調 ci 錯 第四音調 cuo 灑 第三音調 sa 三 第一音調 san 思 第一音調 ...

Android 預設通話應用

專案中有個彩鈴需求,所以用到了預設通話,在android10之後,請求預設通話許可權發生了改變,故整理 關於替換系統的預設通話,需要提供如下幾點 1.提供uiactivity,在登錄檔中需要有如下配置 2.提供service,在登錄檔中也需要如下配置 class phonecallservice e...