前言:
首先让我们恭喜tourist创造历史
他是第一,他又是第一,他总是第一,第一个codefores上4000分的,创造一个新的段位:Tourist,他的名字就是一个新的段位,他就是最高的山,最长的河
本文为Codeforces Round 969 (Div. 2)题ABC的详细题解,包含题目大意和解题思路,C++,Python两种语言编写,觉得有帮助或者写的不错可以点个赞
目录
题A:
题目大意和解题思路:
题目意思就是说:在给定范围内的整数中,我们可以找到多少组三个数,这三个数两两之间的最大公约数都是1。每执行一次操作,就会从集合中移除三个数,然后找出最大的操作次数
取两个相邻的奇数,然后夹一个偶数即可,这样就可以保证操作次数最大
先统计奇数的数量,然后除以二即可
相邻的两个奇数,中间夹一个偶数,他们的最大公约数一定都是1
代码(C++):
int main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0);
int tt;
std::cin >> tt;
while (tt--) {
int l, r;
std::cin >> l >> r;
int cnt = 0;
for (int i = l; i <= r; i++) {
if (i % 2 != 0) {
cnt++;
}