Monocarp and the Set

非常有意思的一道题目,正难则反

看这篇题解

感觉上很对,画个思维导图就可以严格证明了

拿样例举例

这样就可以明白为什么这种乘法原理是对的了

update 2024.7.31

其实正着想也可以做

先排除不可能的情况,\(s\)的第一个字母是?的话显然答案为\(0\)

否则的话,考虑\(s\)的最后一个>/<,这两个位置肯定放的是\(n\)\(1\),于是我们从剩下\(n-2\)个数字里面选出若干个数字放到最后一个箭头的后面,假设最后一个箭头是>,那么除了\(n,1\)和选出的这若干个数字,剩余的数字的最大值要放在倒数第二个>上,然后重复上述过程即可

最终算出来的答案为\(\frac{(n-2)!}{(n-1-l_1)(n-1-l_2)...(n-1-l_k)}\),其中\(l_i\)是每个箭头的下标

主要就是要知道,在选出了若干个数之后,我们只用考虑剩下的没选的数的最大值和最小值就好了

posted @ 2024-03-24 16:13  最爱丁珰  阅读(1)  评论(0编辑  收藏  举报