A
签到题,不讲了。
B
按照题意模拟即可。
C
可以发现 n m ≤ 1 0 6 , n q ≤ 1 0 7 nm \leq 10^6,nq \leq 10^7 nm≤106,nq≤107,所以可以直接用并查集维护连通性。
由于每个格子最多被填一次1
,所以可以每次找出会被填1
的格子然后向周围是1
的格子连边。
对于每行维护一个并查集即可,每个格子指向从它开始的第一个是0
的格子。
D
∑ i = 0 ⌊ n 2 ⌋ a i b n − 2 i ( n 2 i ) = ∑ i = 0 ⌊ n 2 ⌋ a 2 i b n − 2 i ( n 2 i ) \sum_{i=0}^{\lfloor \frac {n} {2} \rfloor} a^ib^{n-2i} \binom {n} {2i}=\sum_{i=0}^{\lfloor \frac {n} {2} \rfloor} \sqrt a^{2i}b^{n-2i} \binom {n} {2i} i=0∑⌊2n⌋aibn−2i(2in)=i=0∑⌊2n⌋a2ibn−2i(2in)
也就是说原式等于 ( a + b ) n (\sqrt a + b)^n (a+b)n的偶数项之和,而 ( a + b ) n (\sqrt a + b)^n (a+b)n一定等于一个整数加上若干倍的 a \sqrt a a,因为偶数项一定是整数,所以 ( a + b ) n (\sqrt a + b)^n (a+b)n的整数部分就是我们要求的答案。把 a \sqrt a a看作像 − 1 \sqrt{ -1} −1一样的东西快速幂即可。
E
与一条直线距离 ≤ d \leq d ≤d的点一定在两条距离为 2 d 2d 2d的平行线内。显然可以通过调整使得至少一个点在平行线上。
枚举这个点,考虑另一个点被覆盖的角度区间,可以用三角函数计算。
这样就转化为给定若干区间,求被最多区间覆盖的点的被覆盖次数,贪心即可。
F
分块,咕了。