CF #682 div.2 目前 ABC
A. Specific Tastes of Andre
题意:构造任意一个长度为n的数组,且满足它的任意子数组,其和可以整除其长度。
思路:输出n个1即可
代码: 略
B. Valerii Against Everyone
题目:B. Valerii Against Everyone
题意:对于给定b数组,是否存在2个不重合的子数组使它们的 2 b i 2^{bi} 2bi 之和相等。
思路: 二进制思维。bi 视为二级制的位。
首先,知当存在
b
i
=
b
j
,
i
≠
j
bi = bj ,i \neq j
bi=bj,i=j, 一定存在;
其次,当不存在相等元素时,二进制无法进位,也就不能产生相等的位。
最后,看bi范围,考虑直接用 map 和 unordered_map 解决
代码:略
C. Engineer Artem
题意:给定一个二维矩阵,对其元素 a i , j a_{i,j} ai,j +0 或 +1 ,最终输出任意一个任意相邻元素都不相等的二维矩阵
思路:考虑 奇偶 相邻(如,国际象棋盘),发现可行
代码:
#include<bits/stdc++.h>
using namespace std;
int t,n,m,a,i;
int main() {
for(scanf("%d",&t); t--;)
for(scanf("%d%d",&n,&m); n--; printf("\n"))
for(i=m; i--; scanf("%d",&a),printf("%d ",a+((1&(n^i))^(1&a))));
exit(0);
}
结尾
蒟蒻不定时补题,有生之年 ,主要是为了监督自己做题补题。
附一篇参考大佬题解(ABC),写的更详细:
https://www.cnblogs.com/Bgwithcode/p/13972340.html