排列组合算法求助
网上看的,题目是从连续的整数1~n中选取m个数字进行排列,排列规则如下:
1、如果第i个位置的数字为x,则第i+1个位置的数字必须大于等于2x。
问题:给出对应的n和m的值,问存在多少个排列方式?
我想的算法我就不好意思说了,时间复杂度都O(n^m)了,问下有什么好的算法么?或者这有公式么?
我正在尝试动态规划的实现
[解决办法]
提醒:
因为数字范围为0~9
所以
第i个位置的数字为x,则第i+1个位置的数字必须大于等于2x。
0 , 0 1 2 3 4 5 6 7 8 9
1 , 2 3 4 5 6 7 8 9
2 , 4 5 6 7 8 9
3 , 6 7 8 9
4 , 8 9
5 ,
6 ,
7 ,
8 ,
9 ,