摘要: 先去掉相邻两个都填完的位置,对于两个都没填的记个数为 \(c\),最后只需要将答案乘上 \(c!\)。 接下来考虑从小到大枚举所有数进行 dp,记 \(f_{i,j,k}\) 表示考虑完前 \(1\sim i\),有 \(j\) 个数需要跟一个位置确定的数匹配,有 \(k\) 个数需要跟后面一个自由 阅读全文
posted @ 2024-12-19 16:07 zifanwang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 一道妙妙题。 一句话题意:求点分树的高度最小值。 给所有点填上一个数表示它子树 \(k\),考虑一种填法什么时候满足条件,发现当且仅当任意两对值相同的点之间的路径上存在一个权值更大的点。 考虑随便找一个点作为根从叶子节点开始贪心填值,每次选择能填的最小值,发现这样填最终的值的最大值一定是最小的。 在 阅读全文
posted @ 2024-12-19 14:30 zifanwang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 首先容易发现含有 \(2n\) 的那一堆不会被删掉,记其为 \(a\),另一堆为 \(b\)。记 \(p_i\) 表示最小的 \(j\) 满足 \(j\ge i\land a_j>b_i\),那么至少要在 \(a\) 堆中删除 \(\max\{p_i-i,0\}\) 个数才能删除 \(b_i\),那 阅读全文
posted @ 2024-12-19 08:04 zifanwang 阅读(5) 评论(0) 推荐(0) 编辑