pku2193 Lenny's Lucky Lotto Lists

来源:互联网 发布:950x250淘宝轮播图 编辑:程序博客网 时间:2024/06/02 05:06

题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=2193

题意简述:给定n,m,求在所有元素[1,m]区间内长度为n的s序列数,s序列数定义条件如下:a[i]>=a[i-1]*2。

解题思路:两次dp。设dp1[i][j]为长度为i,以j结尾的s序列的个数;dp[i][j]为长度为i,在区间[1,j]内的s序列的个数。

dp1状态转移:dp[i][j]=sum{dp[i-1][k]},k<=j/2; dp状态转移:dp[i][j]=sum{(j-2*k+1)*dp1[i-1][k]};

状态和转移方程出来了于是就容易写了,注意这题最多有50个case,所以要先把所有的算出来,免得重复算而tle。

代码:

原创粉丝点击