首页 > TAG信息列表 > Blues
CF960G Bandit Blues
XXIV.CF960G Bandit Blues 我们注意到,\(n\)一定是前缀最大值中最靠右的一个以及后缀最大值中最靠左的一个。换句话说,我们在位置\(n\)可以将整个排列划成两半,前一半中恰有\(a-1\)个前缀最大值,而后一半中恰有\(b-1\)个后缀最大值。 显然两半的问题是相同的,因为后缀最大值在翻转序列CF960G Bandit Blues
Description Japate, while traveling through the forest of Mala, saw $ N $ bags of gold lying in a row. Each bag has some distinct weight of gold between $ 1 $ to $ N $ . Japate can carry only one bag of gold with him, so he uses the following strategy to[CF960G]Bandit Blues(第一类斯特林数+分治卷积)
Solution: 先考虑前缀,设 \(f(i, j)\) 为长度为 \(i\) 的排列中满足前缀最大值为自己的数有 \(j\) 个的排列数。 假设新加一个数 \(i+1\) 那么会有: \[ f(i,j)\rightarrow f(i + 1, j + 1)\\ f(i, j)\times i\rightarrow f(i + 1, j) \] 即将 \(i+1\) 放在那哪个位置,会对后面codeforces960G. Bandit Blues
题目链接:codeforces960G 来看看三倍经验:hdu4372 luogu4609 注意到当前序列的最大值会对前缀最大值和后缀最大值均产生\(1\)的贡献 那么当我们去掉这个最大值后,剩下\(n-1\)个元素,需要产生\(a-1\)个前缀最大值和\(b-1\)个后缀最大值,并且它们的位置会以最大值为界限分布在两侧 我们将Codeforces960G Bandit Blues
Problem Codeforces Solution 先找到序列中 \(n\) 的位置,那么在 \(n\) 之前必须有 \(a-1\) 个前缀最大值,之后有 \(b-1\) 个后缀最大值。 设 \(f[i][j]\) 表示长度为 \(i\) 的排列,有 \(j\) 个前缀最大值的方案数。 那么\(ans=\sum_{i=1}^n f[i-1][a-1]\times f[n-i][b-1]\times \bin