排列計數(dp)

2021-10-04 12:56:18 字數 740 閱讀 6713

主要題意就是給你乙個排列組合,要輸出指定ai>i的個數輸出符合的排列組合與1000000007取模個數。

input

there are several test cases, and one line for each case, which contains two integers, n and k. (1 <= n <= 1000, 0 <= k <= n).

output

output one line for each case. for the answer may be quite huge, you need to output the answer module 1,000,000,007.

題解:dp[n]kj]表示n個數有k個a[n]>k的方案數,對於dp[n-1][k-1],最後乙個數可以使它與a[n]<=n的任意乙個數交換,一共(n-1-(k-1)) 換法,對於dp[n-1][k],要麼直接放在最後一位,要麼與a[n]>n的任意乙個數交換,一共(k+1)換法,因此 得出動態方程 dp[n][k]=dp[n-1][k-1](n-k)+dp[n-1][k](k+1)。

這題其實感覺就是最長子序列的改裝。

#include

#include

using namespace std;

int long long dp[1005][1005];

int mod=1e9+7;

int main()

while(cin>>n>>k)

}

poj1037 dp 排列計數

今天學習dp 看的是北大培訓的課件 看到了這道題 開始看的時候 就算知道是dp 也不知道怎麼去寫 後面看了ac 直接寫思路 c i k down 表示的是前i根木頭中 以k打頭陣的down總數 c i k up 表示的是 前i根木頭中 以k打頭陣的up總數 再寫這道題時 首先要知道怎麼去排列計數 直...

Perm排列計數

記憶體限制 512 mib 時間限制 1000 ms 標準輸入輸出 題目描述 稱乙個1,2,n的排列p1,p2.pn是magic的,當且僅當2 i n時,pi pi 2.計算1,2,n的排列中有多少是magic的,答案可能很大,只能輸出模p以後的值 輸入格式 輸入檔案的第一行包含兩個整數 n和p,含...

Perm 排列計數

題目描述 稱乙個1,2,n的排列p1,p2.pn是magic的,當且僅當2 i n時,pi pi 2.計算1,2,n的排列中有多少是magic的,答案可能很大,只能輸出模p以後的值 輸入格式 輸入檔案的第一行包含兩個整數 n和p,含義如上所述。輸出格式 輸出檔案中僅包含乙個整數,表示計算1,2的排列...