Gorilla 和 Noobish_Monk 发现了三个数字 n 、 m 和 k ( m<k )。他们决定构造一个长度为 n 的排列组合 † 。
对于这个排列,Noobish/Monk 想到了下面的函数: g(i) 是长度为 i 的前缀上的排列中所有不大于 m 的数字之和。同样,Gorilla 提出了函数 f ,其中 f(i) 是长度为 i 的前缀上不小于 k 的排列中所有数字之和。长度为 i 的前缀是由原始数组的前 i 个元素组成的子数组。
例如,如果 n=5 , m=2 , k=5 ,且排列为 [5,3,4,1,2] ,那么:
- 𝑓(1)=5 ,因为 5≥5 ; 𝑔(1)=0 ,因为 5>2 ;
- 𝑓(2)=5 ,因为 3<5 ; 𝑔(2)=0 ,因为 3>2 ;
- 𝑓(3)=5 ,因为 4<5 ; 𝑔(3)=0 ,因为 4>2 ;
- 𝑓(4)=5 ,因为 1<5 ; 𝑔(4)=1 ,因为 1≤2 ;
- 𝑓(5)=5 ,因为 2<5 ; 𝑔(5)=1+2=3 ,因为 2≤2 。
帮助他们找
最大化排列组合函数值

最低0.47元/天 解锁文章
1037

被折叠的 条评论
为什么被折叠?



