P8544 禁断之门对面,是此世还是彼世

被蓝宝薄纱。

题意

复制的

给定一场长度为 \(n\) 的正整数序列 \(a\) 和一个长度为 \(m\) 的正整数序列 \(b\)

现在蓝根据序列 \(a\) 与序列 \(b\) 构造了一个 \(n\)\(m\) 列的正整数矩阵 \(A\) 满足 \(A_{i,j}=a_ib_j\),你需要构造 \(n+1\)\(t\) 列的正整数矩阵 \(B\) 满足以下条件:

  • 矩阵的每个元素取值在 \([1,m]\) 间;
  • 矩阵同一行的元素两两不相同;
  • 矩阵的每列相邻元素不同;
  • 在所有满足上面三项要求的矩阵中最小化下式:

\[f(B)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{t}\sum\limits_{k=\min(B_{i,j},B_{i+1,j})}^{\max(B_{i,j},B_{i+1,j})}A_{i,k} \]

请输出构造出的 \(B\) 矩阵的 \(f(B)\) 的值模 \(10^9+7\) 的结果。

数据范围:\(1\le a_i, b_i\le 10^9\),$1\le n, m, t\le 5\times 10^5 \(,\)t\le m$。保证数据有解。

题解

首先拆一下式子:\(A_{i, k} = a_ib_k\),发现 \(a_i\) 可以提出来,于是最优化方案只和 \(b\) 有关。那么可以得到 \(B_1, B_3, B_5 \dots\) 都相等,\(B_2, B_4, B_6\dots\) 也是。于是只需要给前两行找到最优方案。

观察题目,发现相当于给一个左右部大小都为 \(m\) 的二分图找到一组大小恰好为 \(t\) 的匹配,每条边代价是它跨过的区间的 \(b_i\) 和。一个直觉是,边不该跨过太远,而且不该交叉。如果跨过一段空区间,那么可以把匹配压缩,给后面留下更多选择余地的同时,减小了代价。如果匹配交叉,那么可以在满足 \(B_{i, j} \neq B_{i+1, j}\) 的前提下试图交换两个匹配。于是最终剩下的只有这样三种结构:连续的三元环,连续的二元环和连续的链。进行朴素线性 DP,记录当前末尾位置和已经找到的匹配个数,可以做到 \(\Theta(mt)\)。接下来,对于大小恰好为 \(t\) 这个限制,结合二分图最大权匹配的凸性,上一个 wqs 二分即可。

posted @ 2023-06-28 08:34  kyEEcccccc  阅读(43)  评论(0编辑  收藏  举报