Loading

CF1666F Fancy Stack

真的困难吧。

首先不难注意到设一个 \(f_{i, j}\) 表示用了前 \(i\) 个数组了 \(2j\) 层的方案数,相同的数的贡献我们可以最后除掉。

我们钦定第 \(2j\) 层必须填 \(a_i\),那么 \(a_i\) 是前 \(2j\) 层中最大的数。

转移考虑奇数层的数一定要小于上一个偶数层的数,而我们这个状态本质上就记录了小于等于最后一个偶数层的数用了多少个(实际上这是题目的性质),转移就是简单的了(每次选没有选过的小于上一个偶数层的数)。

每次乘上能选的是计数中一个重要技巧,求组合数便是利用了这一技巧。

posted @ 2025-11-14 15:42  Alexande  阅读(7)  评论(0)    收藏  举报