zoukankan      html  css  js  c++  java
  • 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}))

  • 相关阅读:
    Codeforces 1515 H. Phoenix and Bits 题解
    Codeforces 1511 F. Chainword 题解
    Codeforces 1369F. BareLee 题解
    莫队学习笔记
    圆方树学习笔记
    虚树学习笔记
    NOIP2020退役记
    CSP-S2 2021 场外
    我。
    WC2021 游记
  • 原文地址:https://www.cnblogs.com/Soulist/p/13752844.html
Copyright © 2011-2022 走看看