摘要: 给定长度 \(n \leq 2×10^5\) 的排列 \(A\),要拆成子序列 \(B\)、\(C\),使 \(B\) 前缀最大值与 \(C\) 前缀最小值个数和最大。用 DP 求解,初态 \(f_{i,x,y}\) 暴力转移复杂度 \(n^3\)。优化时按 \(x > y\) 和 \(x < y\) 分类讨论,前者求 LIS 和 LDS,后者利用前驱后继转移,部分情况用 set、树状数组等处理,先预处理再倒序枚举更新 。 阅读全文
posted @ 2024-12-24 21:45 wing_heart 阅读(12) 评论(0) 推荐(0)
摘要: 给定\(n\)个点、\(k\)个连通块(含点信息\(s_i\)),添加\(k - 1\)条边使其连通,依连通块度数\(d_i\)计算加边方案贡献。利用 prufer 序列结合凯莱公式分析,因式子难优化且\(k\leq7000\),采用\(O(k^2)\)动态规划求解,定义\(f_{i,j}\)表示处理到第\(i\)段以\(j\)结尾的方案贡献和,经特定转移计算最终答案。 阅读全文
posted @ 2024-12-24 15:42 wing_heart 阅读(18) 评论(0) 推荐(0)