博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 3664 (水地推)
阅读量:4970 次
发布时间:2019-06-12

本文共 747 字,大约阅读时间需要 2 分钟。

 

题意:给出数字n,问n的所有的排列中满足Ai>i 数字恰好为 k的排列的个数。

sl : dp

dp【n】【k】 = dp【n-1】【k】*(k+1) + dp【n-1】【k-1】*(n-1-k+1);

 

为什么? 稍微一想就知道了。

 

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #include <vector>
 5 
using 
namespace std;
 6 
const 
int MAX= 
1000;
 7 
const 
int MOD = 1e9+
7;
 8 typedef 
long 
long LL;
 9 
int dp[MAX][MAX];
10 
int main() {
11     
int n,k;
12     
while(scanf(
"
%d %d
",&n,&k)==
2) {
13         memset(dp,
0,
sizeof(dp));
14         
for(
int i=
1;i<=n;i++) dp[i][
0]=
1;
15         
for(
int i=
1;i<=n;i++) {
16             
for(
int j=
1;j<=i;j++) {
17                 dp[i][j]=((LL)dp[i-
1][j]*(j+
1)+(LL)dp[i-
1][j-
1]*(i-j))%MOD;
18             }
19         }
20         printf(
"
%d\n
",dp[n][k]);
21     }
22     
return 
0;
23 }

24 //dp[n][k]=dp[n-1][k]*(k+1)+dp[n-1][k-1]*(n-1-k+1); 

转载于:https://www.cnblogs.com/acvc/p/3908994.html

你可能感兴趣的文章
Difference between Linearizability and Serializability
查看>>
电影《绿皮书》
查看>>
IDEA使用操作文档
查看>>
如何对网课、游戏直播等进行录屏
查看>>
UIView
查看>>
有关去掉谷歌及火狐浏览器文本框 数字类型 上下箭头的方法
查看>>
MySQL数据迁移到SQL Server
查看>>
复杂链表的复制(python)
查看>>
添加日期选择控件
查看>>
jquery.cookie.js操作cookie
查看>>
javascript遍历数组
查看>>
bzoj4765: 普通计算姬 (分块 && BIT)
查看>>
thinkphp5-----模板中函数的使用
查看>>
POJ-3211 Washing Clothes[01背包问题]
查看>>
[BZOJ4832][Lydsy1704月赛]抵制克苏恩
查看>>
数据库三范式
查看>>
看完漫画秒懂区块链
查看>>
开发工具,做一个有效率的开发者
查看>>
对Haskell这门语言的基本认识
查看>>
mysql 安装补充
查看>>