有趣的数列
一个比较正常,自然的思路:看这篇题解
像这种全排列的问题,一个很正常的想法就是从小到大进行依次放置(以数为考虑对象),再看一下每次放置的限制是什么(这里至少要满足第二个条件,所以每次放置要么放在最前面的偶数位,要么放在最前面的奇数位)
我自己想的时候,是直接先把所有奇数位的数字取出来,那么显然取了\(n\)个数,剩下的\(n\)个数肯定是偶数位的,而且由题意,他们只存在唯一的一种摆法(即从小到大依次放置在偶数位),所以我们只用判断最后一个条件是否满足就好了
我们仍然从小到大地放置
我们很容易的想到一种反例,那就是取了很多连续的数放在偶数位上,导致奇数位上没多少数,然后接下来我们要放在奇数位上的数就很大(因为我们是从小到大地放置的,前面放了很多连续的数之后,我们接下来放的数肯定比之前的都大),而这个奇数位肯定在比较前面,此时就不满足最后一个条件了。然后就可以想到是蓝书上,讲解卡特兰数的那个例子了(也就是给选出的要放在奇数位的数字赋值为\(0\),要放在偶数位的数字赋值为\(1\),理解成每放一个偶数位就抵消了一个奇数位,相当于一个\(1\)和一个\(0\)进行匹配,放\(1\)的时候要保证前面至少还有一个\(0\)与其匹配,这种思想相当于以位置为考虑对象)