ZOJ2284 动态规划-Inversion Number

来源:互联网 发布:ubuntu启动输入法 编辑:程序博客网 时间:2024/05/29 12:46

发现自己动态规划的题目不是特别做的来,但是找工作好像必考的东西,郁闷。以前没有好好学习啊!残念了!!从简单的开始补起吧!

 

Let { A1,A2,...,An } be a permutation of the set{ 1,2,..., n}. The inversion number of the permutation is the number of integer pairs (i,j) that satisfy 1<=i<j<=n and Ai>Aj.

Your task is to calculate how many n-permutations has an inversion number of k.

 

给定n求k逆序的序列的个数!

 

写出递推式其实蛮简单的 f(n,k) = 求和f(n-1, k-i) i是0-n-1 意思就是 1234 的逆序问题可以转化成123的逆序问题,先把123摆好,再把4可以插到×1×2×3× 中任意一个×的位置,而增加的逆序个数依次是3 2 1 0. 

 

从底向上打表就可以了。

 

代码:

 

 

 

开始一直RunError  超级郁闷 最讨厌的错误就是RE了 也不知道异常发生在哪里。后来看了下好像是大数溢出了。处处要小心啊!