其他分享
首页 > 其他分享> > AGC054E ZIG ZAG Break

AGC054E ZIG ZAG Break

作者:互联网

AGC054E ZIG ZAG Break

好强的东西

我们这么去考虑啊

首先不妨假设 \(a_1<a_n\),那么应该有一个结论,就是有:

\(\{p_i\}\) 合法当且仅当存在一个 \(i\),满足 \(a_i\le a_1\) 且 \(a_n\le a_{i+1}\)

那么,我们考虑先证明充分性:

考虑倒着这个过程,最后只剩下 \(p_1\) 和 \(p_n\),然后每次考虑添加去的位置是 \(pos\),这个假如破坏了原本的一个 \(i\),那么不好意思,根据 \(x\) 的大小讨论, \(pos\) 或者 \(pos+1\) 依然是合法的。

必要性的话,考虑每次考虑随便删除这个序列的一个峰,然后最后只剩下 \(i\) 这个峰,考虑处理成 \(p_1,p_i,p_n\) 这类的数列就可。

那么我们就证明了上面结论的充要性。

那么,不妨设 \(p_n=p_1+k\),我们考虑把数分为三类,就是说 \([1,p_1)\) 和 \((p_1,p_1+k)\) 和 \((p_1+k,n)\)

那么于是有这样子我们的排列数就是:

\[(k-1)!\frac{(p_1+k-3)!}{(k-2)!}\frac{(n-p_1-2)!}{(k-2)!} \]

整理就是

\[(k-1)\frac{(p_1+k-3)!(n-p_1-2)}{(k-2)!} \]

进一步的,我们枚举一下

\[(n-p_1-2)\sum_{k=1}^{n-p_1} \frac{(k-1)(p_1+k-3)!}{(k-2)!} \]

考虑拆一下,且令 \(k=k-2\)

\[(n-p_1-2)\sum_{k=0}^{n-p_1-2}\left(\frac{(p_1+k-1)!}{k!}+\frac{(p_1+k-1)!}{(k-1)!}\right) \]

换成组合数

\[(n-p_1-2)\left((p_1-1)!\sum_{k=0}^{n-p_1-2}\binom{p_1+k-1}{p_1-1}+p_1!\sum_{k=0}^{n-p_1-2}\binom{k+p_1-1}{p_1}\right) \]

这玩意考虑一下,就是说

\[(n-p_1-2)\left((p_1-1)!\binom{n-2}{p_i}+p_1!\binom{n-2}{p_i+1}\right) \]

我们再考虑 \(a_1>a_n\) 的情况,那就是必定有

\(\{p_i\}\) 合法当且仅当存在一个 \(i\),满足 \(a_i\ge a_1\) 且 \(a_n\ge a_{i+1}\)

我们也如此考虑,那么应该是

\[(p_1-3)!\left((n-p_1)!\binom{n-2}{n-p_1+1}+(n-p_1+1)!\binom{n-2}{n-p_1+2}\right) \]

这两个加一块用 \((n-1)!\) 减去就是答案。

标签:right,frac,sum,Break,ZIG,AGC054E,binom,考虑,left
来源: https://www.cnblogs.com/siriehn-nx/p/15463408.html