ZR模拟赛5

时间:2021-08-08
本文章向大家介绍ZR模拟赛5,主要包括ZR模拟赛5使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

我是sb。

http://zhengruioi.com/contest/946

A

黑格子可以并查集判连通。

白点连通,其实相当于希望没有一个大的环,即可以理解成一个树。边数为日字形的个数-田字格的数量,点数为黑格子数量。然后搞搞即可。

B

考虑按面值从小到大 DP。\(f(i,j)\):只考虑面值 \([i,n]\) 的币和物,手上还有 \(j\) 个价值 \(i\) 的币,方案数。DP 时把面值 \(i\) 转到面值 \(i-1\),然后做。\(f_{i,j}\to f_{i,j-c}, f_{i-1,j,a_{i-1}}\)。这种会炸。

考虑每次转移时 \(j\) 和剩余总价值取 min。发现剩余总价值是一个关于 \(i\) 的函数 \(f_i\)。发现 \(\sigma f_i\le 2\sigma c_i\)

从大到小 DP,每次 DP 范围限制一下,NTT。

C

考虑随便选一个点 \(x\),查询和自己连的所有边,看度数。注意到评测机是 adaptive,每次必须问满 \(a,b,c\) 的出边,所以已经 \(3n\) 个了。

  • \(deg_x=n-2\),则 \(c=x\).
  • \(deg_x\le 2\),有两种情况
    1. \(a=x\)
    2. \(c\) 相连
      考虑用 \(2n\)次查询所有 \(x\) 的邻居的度数。
  • \(3\ledeg(x)\le n-3\),则必然不是 \(a,b,c\) 的一个。令 \(S,T\) 分别是 \(x\) 的邻居,非邻居点集。从 \(S\) 中选点 \(u\)\(T\) 中选点 \(v\),如果有边就找再找一个 \(x\),无边就再找一个 \(y\)\(S\) 空时 \(a=v\)

原文地址:https://www.cnblogs.com/TetrisCandy/p/15115301.html