Codeforces Round #736 (Div. 1)

A. Web of Lies

只要一个点有连向比他编号大的点,那他就会算入贡献。直接做即可。

B. Integers Have Friends

显然先差分,然后从左到右扫描,维护相同 gcd 的段即可,每次的段数都是 $log$ 级别的。乍一看复杂度好像是两个 log,但好像更好的实现和分析一下复杂度应该是一个 log 的。

C. The Three Little Pigs

实际上就是求这个多项式的某个次项的值:$sum_{i=0}^{n}(1+x)^{3i}$,等比数列求和可得:$frac{(1+x)^{3n+3}-1}{(1+x)^3-1}$。分母是个低次多项式,直接模拟多项式除法即可。

D1. Gregor and the Odd Cows (Easy)

根据 pick 定理 $S=a+b/2-1$,结合这题的要求内部整点数为奇数,可以得到 $2Sequiv bpmod 4$,其中 $S$ 是面积,$a$ 是内部整点数,$b$ 是边界整点数。

这题坐标都是偶数,那么 $2Smod 4=0$,所以要求 $b$ 也是。然后考虑每一条边的整点数是怎么计算的,是 $gcd(Delta x, Delta y)$,因为这题坐标都是偶数,所以只需要知道两个坐标 $mod 4$ 的余数,就可以知道这个 $gcd mod 4$ 是 $2$ 还是 $0$ 了。

于是这题只要把 $x, y$ 都 $mod 4$,然后依次枚举三个端点是什么余数即可。

D2. Gregor and the Odd Cows (Hard)

这题的坐标是任意的,如果还是跟上题一样只记录 $mod 4$ 余数的话,在 $gcd$ 为奇数的时候不能正确得知 $gcd mod 4$ 的值。

而且这题还有个限制,$S$ 必须是整数,所以 $2S mod 4$ 必须是 $0$ 或 $2$,所以 $b$ 一定是偶数。

对每个点 $i$,记录 cnt[i][x][y][b],表示这条边的一个端点是 $i$,另一个端点两坐标 $mod 4$ 的结果是 $x, y$,这条边的整点数 $mod 4=b$ 的边数。

由于 $b$ 是偶数,所以三条边的整点数中,肯定至少有一条边是偶数。考虑枚举这条边对着的点 $i$,然后枚举 $x_1, y_1, b_1, x_2, y_2, b_2$,要求 $x_1equiv x_2pmod 2, y_1equiv y_2pmod 2$,保证点 $i$ 所对的这条边的整点数为偶数。然后只要看是否满足 $2Sequiv bpmod 4$ 即可贡献答案。

另外,如果三条边都是偶数,那么会被计算三次,如果三条边恰好一条是偶数,那么会被计算一次,所以最后的答案要除一下。

E. Gregor and the Two Painters

考虑对每个连通块搞个代表出来,然后计算代表的个数。

首先,假设 $a_i$ 互不相同,$b_j$ 互不相同,且所有 $a_i+b_j$ 互不相同(如果相同的话,只需要任意规定一个大小顺序)。

如果两个格子都 $leq x$,且在同一行或同一列,且他们之间的格子都是 $leq x$ 的,那么称这两个格子能直接到达。

称一个 $leq x$ 的格子为代表,当且仅当他在所有他能直接到达的格子里,是最小的。

我们有结论:一个连通块里恰好有一个代表。

简要证明:一个连通块肯定至少有一个代表,取其中的最小值就是。然后如果一个格子 $(i, j)$ 是代表,且他能直接到达 $(i_l, j)sim (i_r, j)$ 和 $(i, j_l)sim (i, j_r)$,那么这个连通块肯定被包含在矩形 $[i_l, i_r] imes [j_l, j_r]$ 内,于是这个代表肯定是这个连通块里的最小值。

接下来,设 $L_i$ 表示 $a_i$ 左边最近的 $<a_i$ 的下标,$R_i$ 表示 $a_i$ 右边最近的 $<a_i$ 的下标,$na_i=min(max(a_{L_i..i}),max(a_{i..R_i}))$。

同理定义 $nb_j$。$na, nb$ 都可以通过单调栈 + RMQ 得到。

那么一个格子是代表,当且仅当:

  • $a_i+b_jleq x$
  • $na_i+b_j>x$
  • $a_i+nb_j>x$

考虑把所有数对 $(na_i-a_i, a_i), (nb_j-b_j, b_j)$ 降序排序,然后求出每一个数对与在他前面的数对的贡献。比如当前是 $(na_i-a_i, a_i)$,那么所有在他前面,且 $b_jin(x-na_i, x-a_i]$ 的 $j$ 都会有一次贡献。扫描线 + BIT 即可维护。

原文地址:https://www.cnblogs.com/Master-Yoda/p/15125056.html