作者:NotDeep 链接:https://www.nowcoder.com/discuss/26079 来源:牛客网 不等式数列 分析 dp[i][j]表示前i个数字构成的数列中,恰有j个‘<’号的方案数(‘>’号就有i - j - 1个)。 dp[i][j] = dp[i - 1][j - 1] * (i - j) + dp[i - 1][j] * (j + 1) 参考code #include <bits/stdc++.h> using namespace std; int n, k, ans; int dp[1005][1005]; int main() { cin >> n >> k; for(int i = 1; i <= n; i++) dp[i][0] = 1; for(int i = 2; i <= n; i++) for(int j = 1; j <= k; j++) dp[i][j] = (dp[i - 1][j - 1] * (i - j) + dp[i - 1][j] * (j + 1)) % 2017; cout << dp[n][k] % 2017 << endl; return 0; } 有大佬能解释一下转移方程吗。。。太蠢,看答案居然都看不懂
点赞 2

相关推荐

牛客网
牛客企业服务