Codeforces Round 969 (Div. 2) A~F

A. Dora’s Set (思维)

题意:

D o r a Dora Dora有一个包含整数的集合 s s s。一开始,她会将 KaTeX parse error: Undefined control sequence: \[ at position 1: \̲[̲l, r\]中的所有整数放入集合 s s s。也就是说,整数 x x x最初会在集合中,当且仅当 l ≤ x ≤ r l \leq x \leq r lxr时。然后执行以下操作:

  • 从集合 s s s中选择三个不同的整数 a a a b b b c c c,使得 gcd ⁡ ( a , b ) = gcd ⁡ ( b , c ) = gcd ⁡ ( a , c ) = 1 \gcd(a, b) = \gcd(b, c) = \gcd(a, c) = 1 gcd(a,b)=gcd(b,c)=gcd(a,c)=1

  • 从集合 s s s中删除这三个整数。

请问可以执行的最大操作数是多少?

分析:

我们考虑倒偶数彼此之间不互质。相邻的奇数是互质的,那么我们只需要统计出区间中奇数个数,两个一对凑对数,除以 2 2 2即可。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define endl '\n'
#define PII pair<LL, LL>
const int N = 3e5 + 10;
const int InF = 2e9 + 5;
const int mod = 998244353;
int main()
{
   
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int t;
    cin >> t;
    while (t--)
    {
   
        int l, r;
        cin >> l >> r;
        int ans;
        if (l & 1)
        {
   
            ans = (r - l + 1 + 1) / 2;
        }
        else
        {
   
            ans = (r - l + 1) / 2;
        }
        ans /= 2;
        cout << ans << endl;
    }
    return 0;
}

B. Index and Maximum Value (思维)

题意:

给出一个整数数组 a _ 1 , a _ 2 , … , a _ n a\_1, a\_2, \ldots, a\_n a_1,a_2,,a_n按顺序执行 m m m个操作。每个操作都属于以下两种类型之一:

  • +   l   r \texttt{+ l r} + l r。给定两个整数 l l l r r r,对于所有 1 ≤ i ≤ n 1 \leq i \leq n 1in l ≤ a _ i ≤ r l \leq a\_i \leq r la_ir a _ i : = a _ i + 1 a\_i := a\_i + 1 a_i:=a_i+1

  • -   l   r \texttt{- l r} - l r。给定两个整数 l l l r r r,对于所有 1 ≤ i ≤ n 1 \leq i \leq n 1in l ≤ a _ i ≤ r l \leq a\_i \leq r la_ir a _ i : = a _ i − 1 a\_i := a\_i - 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值