hdu 3664
来源:互联网 发布:windows桌面进程 编辑:程序博客网 时间:2024/05/22 08:11
当年鸟神现场赛处子秀挂掉的题,还埋怨了RudySnow......(PS:这事过去很久了,如今2位也都学业有成了,向学长看齐)
这个东西具体数学中有,我没看过具体数学当然也不知道,自然这题也不会做。。。。
后来知道了公式是这样:
F(I,J) = (J+1)* F(I-1,J) + (I-J) * F(I-1,J-1)
这个公式证明,想了很久才懂。。。。弱菜不解释~
对于F(i-1,j)代表的每个序列,扩展到i个数时,假设i在最后一位,也就是A[i]=i
若a[i]与a[k]交换(k满足a[k]>k)),则交换后E值不变,符合这样的k共有j个
对于F(i-1.j-1)来讲,还是先令a[i]=i,
若a[i]与a[k]交换(k满足a[k]<k),则交换后E值加1,符合这样的k共有i-j个。
#include <iostream>#include <cstdio>#define N 1005#define mod 1000000007#define ll __int64using namespace std;ll f[N][N];void init(){ int i,j; for (i=1;i<N;i++) { f[i][0]=1; for (j=1;j<i;j++) f[i][j]=((j+1)*f[i-1][j]+(i-j)*f[i-1][j-1])%mod; }}int main(){ int n,k; init(); while (scanf("%d%d",&n,&k)!=EOF) cout<<f[n][k]<<endl; return 0; }
到此证毕,附代码:
- hdu 3664
- hdu 3664
- hdu 3664
- 【DP】hdu 3664
- hdu 3664 递推
- HDU 3664 DP
- HDU 3664 Permutation Counting
- hdu 3664 dp
- HDU 3664(DP)
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- c#连连看
- 使用GFlags检测内存越界访问
- POJ-1631-Bridging signals
- hdu1213 How Many Tables
- 字典树模型
- hdu 3664
- Agri-Net
- hdu 1818 It's not a Bug, It's a Feature!(位运算+bfs优先队列)
- JAVA开发和运行环境之JRE和JDK
- 【亲测】U盘Ghost安装操作系统
- 路由接宽带上网,DNS用192.168.1.1只能上QQ不能看网页
- HDU 3999 The order of a Tree 二叉搜索树 BST
- A0/A1/A2/A3/A4图纸大小分别是多少
- 0/1背包问题从小规模到大规模的探究过程实录