非常有意思的一道题目,正难则反
看这篇题解
感觉上很对,画个思维导图就可以严格证明了
拿样例举例
这样就可以明白为什么这种乘法原理是对的了
update 2024.7.31
其实正着想也可以做
先排除不可能的情况,
s
s
s的第一个字母是?
的话显然答案为
0
0
0
否则的话,考虑
s
s
s的最后一个>
/<
,这两个位置肯定放的是
n
n
n和
1
1
1,于是我们从剩下
n
−
2
n-2
n−2个数字里面选出若干个数字放到最后一个箭头的后面,假设最后一个箭头是>
,那么除了
n
,
1
n,1
n,1和选出的这若干个数字,剩余的数字的最大值要放在倒数第二个>
上,然后重复上述过程即可
最终算出来的答案为 ( n − 2 ) ! ( n − 1 − l 1 ) ( n − 1 − l 2 ) . . . ( n − 1 − l k ) \frac{(n-2)!}{(n-1-l_1)(n-1-l_2)...(n-1-l_k)} (n−1−l1)(n−1−l2)...(n−1−lk)(n−2)!,其中 l i l_i li是每个箭头的下标
主要就是要知道,在选出了若干个数之后,我们只用考虑剩下的没选的数的最大值和最小值就好了