AtCoder Regular Contest 107 选做

D - Number of Multisets

给定两个正整数 (N, K),求有多少个可重集满足以下条件:

  • 可重集包含恰好 (N) 个元素,且它们的和为 (K)
  • 每一个元素都可以表示为 (2^{-x} (x in N))

答案对 (998244353) 取模。

(1 le K le N le 3000)

2s, 1GB

(f_{N, K}) 表示 (K) 拆成 (N) 个的方案数。

分两种情况考虑:

  • 当前的可重集中不包含 (1),那么, 假设我们将可重集中的所有数都翻一倍,就变成了把 (2K) 拆成 (N) 个的方案数,而且显然这些方案是一一对应的。那么就有 (f_{N, K} gets f_{N, 2K})
  • 当前的可重集中包含若干个 (1),那么,假设将其中的一个 (1) 删去,就变成了把 (K - 1) 拆成 (N - 1) 个的方案数,而且显然这些方案是一一对应的。那么就有 (f_{N, K} gets f_{N-1, K-1})

于是我们得到递推式 (f_{N,K} = f_{N, 2K} + f_{N-1,K-1}),根据这个递推即可。

注意到当 (K > N) 时,(f_{N, K} = 0),所以时间复杂度为 (O(N^2))

https://atcoder.jp/contests/arc107/submissions/26067671

E - Mex Mat

对于一个 (N imes N) 的矩阵,给定 (a_{1, 1}, a_{1, 2}cdots, a_{1, N})(a_{2, 1}, cdots, a_{N,1}),并给出递推式:

[a_{i, j} = { m mex}(a_{i-1, j}, a_{i,j-1}) (2 le i, j le N) ]

求出这个矩阵中有多少个 (0),多少个 (1),多少个 (2)

(1 le N le 5 imes 10^5)(a_{i, j} in {0, 1, 2})

2s, 1GB

打表找规律,发现只要算出前 (4) 行和前 (4) 列的值以后,就有:

[a_{i, j} = a_{i - 1, j-1} (i, j ge 5) ]

时间复杂度 (O(N))

https://atcoder.jp/contests/arc107/submissions/26082055

F - Sum of Abs

给定一张有 (N) 个点 (M) 条边的无向图,第 (i) 个结点上有两个正整数 (A_i, B_i),第 (i) 条边连接 (U_i, V_i)

现在可以删去若干个点,删去一个点的代价是 (A_i),并且与其相连的边也会被删除。

最终,一张图的得分为每个连通块的 (|sum B|) 之和。

求「得分 (-) 代价」的最大值。

(1 le N , M le 300)(1 le A_i le 10^6)(-10^6 le B_i le 10^6)(1 le U_i, V_i le N),图没有重边和自环。

2s, 1GB

注意到,对于一个连通块,它的价值应该是 (max{sum B, sum-B})

于是等价转化一下这个问题,可以变成给每个点添加一个符号 (+) / (-) / ( m delete),分别对应给答案的贡献为 (B_i, -B_i, -A_i),且两个相邻的点的符号不能一个是 (+) 一个是 (-)

首先考虑最理想情况,答案显然为 (sum_{i=1}^{N} |B_i|),然后考虑使用最小割删去不合理的那部分价值。

具体的,将每个点拆成两个点 (u_1, u_2),我们的目标是:

  • (u_1, u_2) 同属于 (T) 侧时,表示 (+u)
  • (u_1, u_2) 同属于 (S) 侧时,表示 (-u)
  • (u_1) 属于 (S) 侧,(u_2) 属于 (T) 侧时,表示 ( ext{delete } u)

可以想到如下构造:

  • 对任意 (1 le u le N)(u_1 ightarrow u_2),边权 (|B_u| + A_u)
  • 对任意 (1 le i le M)(U_{i 2} o V_{i 1}, V_{i 2} o U_{i 1}),边权均为 (+infty)
  • 对任意 (1 le u le N)
    • 如果 (B_u ge 0),则连边 (u_2 o T),边权为 (2B_u)
    • 如果 (B_u < 0),则连边 (S o u_1),边权为 (-2B_u)

(sum_{i=1}^{N} B_i-) 最小割 即可,使用 Dinic,时间复杂度 (O(N^2M))

https://atcoder.jp/contests/arc107/submissions/26084176

原文地址:https://www.cnblogs.com/syksykCCC/p/ARC107.html