遞推 dp 求有多少個序列符合題意

2022-06-27 03:39:09 字數 654 閱讀 1476

小美有乙個由n個元素組成的序列,她想知道其中有多少個子序列(1 ≤ m ≤ n, 1 ≤ p1

< p2 ,..., < pm ≤ n),滿足對於所有的i,j(1 ≤ i < j ≤ m), api

pj < apj

pi成立。

第一行乙個整數n (1≤n≤100)表示序列長度。

接下來一行n個整數(1≤a

i
≤100)表示序列。
輸出一行表示滿足條件的子串行的數目。因為答案可能很大,請輸出答案mod 1,000,000,007。
示例1

複製

2

1 2

複製

3

滿足條件的子串行為, , 。

思路分析 : 簡單的線性dp

**示例:

double a[105];

int dp[105];

int main()

for(int i = 1; i <= n; i++)}}

int ans = 0;

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

printf("%d\n", ans);

return 0;

}

求N 有多少個0,1,2, ,9

給出乙個正整數n 0 n 10000 求n 有多少個0,1,2,9。輸入有一行,為乙個正整數n 輸出n 中0,1,2,9的個數 以空格隔開 10 2 0 1 1 0 0 1 0 2 0 分析 n!最多只有35660位 n 10000時 因為時間充足,所以可採用求大數階乘的演算法求出n!的具體數值,然...

求N!末尾有多少個0

思考 該題實際上是求 2 5 因子對的個數。對於任意乙個階乘,5因子的個數總是小於2因子的個數,僅需考慮n 中5因子的個數 方法 1 將該數用 5 除,得到的商取整數。2 然後再用所得商當被除數除以 5,得到的商取整數。3 持續做到商等於 0 為止。4 過程中的商加總即為階乘的尾數 0 的個數。例 ...

求100000!末尾有多少個0?

這其實是乙個求n的階乘末尾有多少個0的問題 分析 想到這個問題,可能我們第一反應就是現求出n 然後再根據求出的結果,最後得出n 的末尾有多少個0。但是如果是乙個大數,例如100000,肯定會溢位而且效率很低。於是我們另闢蹊徑,把這個問題轉換成那些數相乘可以得到10 這個角度,問題就變得比較的簡單了。...