题目如下:
题意是说,给两个长m的数组a,b,要求a是非下降序列,b是非上升序列,且ai<=bi,问从1~n个数中选择组成a,b两数组有多少对是符合条件的。
解题思路:从题可知,当a从头到尾,和b从尾到头拼成一个新数组c,即c=[a1,a2,…,am,bm,…,b2,b1],那么已知C数组是一个非下降序列。故可以将问题转换成,从1~n中选2m个数(可重复),问有多少种组合(因为是非下降序列,故不存在排列,仅组合)。
而该组合的公式为C(n+r-1,r),r=2m。故按照公式可解得答案。
公式推导:5.3.2 从n个不同的元素选取m个可重复的元素