题目描述
求有多少个1到n的排列满足恰有k对在排列中相邻的数满足前小于后,答案对2012取模。 N,K<=1e3
题解:
其实本来是挺水的一道题,然而考场上不知道为什么怎么想都是O(N^3)的,即:记f[i][j][k]为前i个数的排列,有j对数满足条件,最后一个为k的方案数,转移显然。显然只有最后一维能压掉,但当时将最后一个数放的位置局限于最后一个,就想不到不借助最后一个数的大小,怎么转移。其实,既然是前i个数的排列了,那么数i+1可以放在其中的任何一个位置,如果这个位置本来有满足条件的数,就不变,如果没有,就加1,就可以转移了。(幸好结束前10分钟打表找出规律,很水地A了,这还是第一次打表找出规律的 )
4030: 排列计数(permutation)
最新推荐文章于 2022-03-06 15:58:25 发布