CF1416F

CF1416F

对于大小为 (ncdot m) 的矩阵 (A)(B),其中 (A) 的每个元素为一个权值 (w(i,j))(B) 的每个元素为一个方向 L/R/D/U

初始你在 ((i,j)),若 (B_{i,j}=L),你可以走到 ((i,j-1)) 处,依次类推。

定义 (S_{i,j}) 表示从 ((i,j)) 出发能够到达的点的 (A_{i,j}) 的和。

给定矩阵 (S),构造 (A)(B) 使得其生成的矩阵为 (S)

(A) 的每个元素均为正整数。

(1le ncdot mle 10^5,S_{i,j}in [2,10^9])

Solution

观察到我们最后得到的一定是一个基环内向树。

我们可以先给边定向,然后再得到答案。

我们发现基环一定是偶环,同时大小为 (2k) 的偶环一定可以拆成 (k) 个大小为 (2) 的环。

将边分类:

  • 树边。
  • 环边。

我们考虑确定了环边后构造答案。

我们发现一些点附近没有比大的点,那么他一定要成为环上的点。

问题等价于部分点被钦定必须在环上的二分图匹配问题(黑白染色后)

使用带上下界的网络流处理即可。

最后可以轻易的输出解。

复杂度可能是 (mathcal O(ncdot msqrt{ncdot m}))

原文地址:https://www.cnblogs.com/Soulist/p/13752844.html