HDU 1799 迴圈多少次?

2021-08-18 11:16:58 字數 896 閱讀 9068

問題描述

我們知道,在程式設計中,我們時常需要考慮到時間複雜度,特別是對於迴圈的部分。例如,

如果**中出現

for(i = 1; i <= n; i ++)op; 

那麼做了n次op運算,如果**中出現

地法= 1;我<= n; 

i ++)

for(j = i + 1; j <= n; j ++)op; 

那麼做了n *(n-1)/ 2次op操作。

現在給你已知有m層for迴圈操作,且每次對於中變數的起始值是上乙個變數的起始值

1(第乙個變數的起始值是1),終止值都是乙個輸入的n,問最後op有總共多少計算量。 輸入

有ť組的情況下,t <= 10000。每個情況下有兩個整數公尺和n,0

產量對於每個情況下,輸出乙個值,表示總的計算量,也許這個數字很大,那麼你只需要輸出除1007留下的餘數即可。

示例輸入

2

1 32 3

示例輸出

33 

這裡現將所有可能的情況用遞推的方法全部求出來,然後儲存在陣列中。

組合數學的遞推公式:c(n,m)=c(n,m-1)+c(n-1,m-1)

ac**:

//

// main.cpp

// 1799

//// created by showlo on 2018/4/9.

//#include int ans[2010][2010];

int main()

for (int i=2; i<2001; i++)

}scanf("%d",&n);

while (n--)

return 0;

}

HDU 1799 迴圈多少次?

我們知道,在程式設計中,我們時常需要考慮到時間複雜度,特別是對於迴圈的部分。例如,如果 中出現 for i 1 i n i op 那麼做了n次op運算,如果 中出現 fori 1 i n i for j i 1 j n j op 那麼做了n n 1 2 次op 操作。現在給你已知有m層for迴圈操作...

hdu 1799 迴圈多少次?

我們知道,在程式設計中,我們時常需要考慮到時間複雜度,特別是對於迴圈的部分。例如,如果 中出現 for i 1 i n i op 那麼做了n次op運算,如果 中出現 fori 1 i n i for j i 1 j n j op 那麼做了n n 1 2 次op 操作。現在給你已知有m層for迴圈操作...

hdu 1799 迴圈多少次?

problem description 我們知道,在程式設計中,我們時常需要考慮到時間複雜度,特別是對於迴圈的部分。例如,如果 中出現 for i 1 i n i op 那麼做了n次op運算,如果 中出現 fori 1 i n i for j i 1 j n j op 那麼做了n n 1 2 次op...