問題描述
我們知道,在程式設計中,我們時常需要考慮到時間複雜度,特別是對於迴圈的部分。例如,
如果**中出現
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留下的餘數即可。
示例輸入
21 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...