1 条题解

  • 0
    @ 2025-8-24 23:06:53

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Zskioaert1106
    值得一提的是,我在四个洛谷有 Remote Judge 的国外 OJ 上的账号都不是我的洛谷用户名。

    搬运于2025-08-24 23:06:53,当前版本为作者最后更新于2024-12-10 20:34:15,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目传送门:P11384 [POI 2024/2025 R1] Usuwanie

    首先,奇数加奇数得偶数,偶数加偶数得偶数,奇数相邻的是偶数,偶数相邻的是奇数。

    发现对于相邻的整数 (a,a+1,a+2,a+3)(a,a+1,a+2,a+3)(a,a+2)(a,a+2)(a+1,a+3)(a+1,a+3) 可以两两消掉,于是当整个序列的元素数量 s=ba+1s=b-a+144 的倍数的时候,全部的元素都能消除。

    如果模 4411,那么最后剩下的一个就消不了。

    如果模 4422,我们悲伤地发现最后两个元素之和为奇数,所以都会剩下。

    如果模 4433,那么倒数第三个和最后一个可以消,倒数第二个会剩下,答案还是只剩下一个。

    所以汇总代码就出来了。

    #include<iostream>
    using namespace std;
    long long a,b,ans;
    int main(){
        cin>>a>>b;
        long long s=b-a+1;
        if(s%4==0)ans=s;
        else if(s%4==1)ans=s-1;
        else if(s%4==2)ans=s-2;
        else ans=s-1;
        cout<<ans;
        return 0;
    }
    

    AC 记录

    • 1

    信息

    ID
    11074
    时间
    1000ms
    内存
    500MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者