[JZOJ4307]喝喝喝--枚举

本文深入解析了枚举算法在特定问题中的应用,通过实例详细介绍了如何利用枚举算法解决复杂问题,包括算法的设计思路、实现步骤及代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[JZOJ4307]喝喝喝--枚举

题目链接

自行搜索

分析

我们需要找到所有不包含\((a_x,a_y),a_x \equiv k \mod a_y (x<y)\)这样的连续数对,转化一下变成\(a_x-k \equiv 0 \mod a_y\).

考虑从左到右加数,可以发现如果\(a_i - k \equiv 0 \mod a_j\),那么起点为\(i\),终点大于等于\(j\)的连续序列都是不合法的,于是维护一个左指针\(lst\),表示当前距离最近的不合法起点,换句话说,\(lst+1\)到当前遍历的数这一段都是合法的

怎么更新\(f[x]\)?由于值域范围很小\((1e5)\),我们设若当前加的第\(i\)个数为\(x\),设\(f[x]\)为当前距\(i\)最近的\(y\)使得\(x - k \equiv 0 \mod a_y\),每次新加入一个数就比较\(f[x]\)\(lst\)哪个更大,这样就能更新\(lst\),同时加完\(x\)这个数后,我们可以在\(O( \sqrt{x} )\)的时间内将所有满足\(x -k \equiv 0 \mod p\)\(p\)找出来更新它们的\(f\)

当时要注意我们这种方法会漏掉前面有数为\(k\)的情况,要特判

代码

/*
  code by RyeCatcher
*/
inline char gc(){
    static char buf[SIZE],*p1=buf,*p2=buf;
    return p1==p2&&(p2=(p1=buf)+fread(buf,1,SIZE,stdin),p1==p2)?EOF:*p1++;
}
#define gc getchar
template <class T>inline void read(T &x){
    x=0;int ne=0;char c;
    while((c=gc())>'9'||c<'0')ne=c=='-';x=c-48;
    while((c=gc())>='0'&&c<='9')x=(x<<3)+(x<<1)+c-48;x=ne?-x:x;return ;
}
const int maxn=1000005;
const int inf=0x7fffffff;
int f[maxn],kk=0,lst=0;
int n,k;
ll ans=0;
int main(){
    int x;
    FO(drink);
    //freopen("drink6.in","r",stdin);
    read(n),read(k);
    for(ri i=1;i<=n;i++){
        read(x);
        if(x>k){
            if(f[x]>lst)lst=f[x];
            if(kk>lst)lst=kk;
        }
        ans+=i-lst;
        if(x==k)kk=i;
        else if(x<k)continue;
        x-=k;
        for(ri j=1;j<sqrt(x+0.5);j++){
            if(x%j==0)f[j]=f[x/j]=i;
        }
    }
    printf("%lld\n",ans);
    return 0;
}

转载于:https://www.cnblogs.com/Rye-Catcher/p/9807682.html

let arr1 = [ { "groupMemberId": 100691, "rongUserId": "LML-57950341", "groupMemberImage": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:17:36:694/79.jpg", "nickName": "敏", "laoMaNo": 306688, "sex": null, "isFriend": false, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-25T11:16:31.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100678, "rongUserId": "LML-14347419", "groupMemberImage": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:13:56:143/31.jpg", "nickName": "aaaa", "laoMaNo": 547636, "sex": null, "isFriend": false, "groupMemberType": "NORMAL", "groupMemberState": false, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-25T02:31:27.000 0000", "groupRemindState": false, "allowedPrivateChat": false, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": true }, { "groupMemberId": 100677, "rongUserId": "LML-21652619", "groupMemberImage": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:13:56:143/31.jpg", "nickName": "Chris", "laoMaNo": 917490, "sex": null, "isFriend": false, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-24T03:05:21.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": true }, { "groupMemberId": 100638, "rongUserId": "LML-74370986", "groupMemberImage": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:13:56:134/10.jpg", "nickName": "Leo", "laoMaNo": 906259, "sex": null, "isFriend": false, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-20T08:31:18.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": true }, { "groupMemberId": 100092, "rongUserId": "LML-24436764", "groupMemberImage": "http://image.laomahahaha.com/yyqc/20240730/upload_t1uohak97de6yvaxyoxt8rrd3cdh3kfz.jpg", "nickName": "哇咔咔", "laoMaNo": 145338, "sex": null, "isFriend": false, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-10T03:01:17.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100035, "rongUserId": "LML-92216234", "groupMemberImage": "../../static/3.jpg", "nickName": "我不是家长", "laoMaNo": 629569, "sex": null, "isFriend": true, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-10T02:35:15.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 99998, "rongUserId": "LML-29798077", "groupMemberImage": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:23:06:432/93.jpg", "nickName": "蜡笔小新", "laoMaNo": 616161, "sex": null, "isFriend": false, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": true, "hasWomenRelated": true, "showRelated": true, "joinGroupDate": "2024-12-10T02:34:32.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100091, "rongUserId": "LML-97098665", "groupMemberImage": "http://image.laomahahaha.com/yyqc/20240828/upload_shgeloxr0zgr03a5dyep1pq1tg1xeyvi.jpg", "nickName": "暖阳", "laoMaNo": 100001, "sex": null, "isFriend": false, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-10T02:33:42.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 99999, "rongUserId": "LML-56213453", "groupMemberImage": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:13:56:143/31.jpg", "nickName": "茄子豆角", "laoMaNo": 555555, "sex": null, "isFriend": true, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-10T02:23:47.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100011, "rongUserId": "LML-97441084", "groupMemberImage": "http://image-laomale.test.upcdn.net/yyqc/20240717/upload_vdhdfg3skcosyqcwl6nc2iqt8tyd25fd.png", "nickName": "该喝喝", "laoMaNo": 666123, "sex": null, "isFriend": false, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-10T02:22:34.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100000, "rongUserId": "LML-61545698", "groupMemberImage": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:23:06:362/65.png", "nickName": "冷眸", "laoMaNo": 155176, "sex": null, "isFriend": true, "groupMemberType": "NORMAL", "groupMemberState": true, "hasManRelated": true, "hasWomenRelated": true, "showRelated": true, "joinGroupDate": "2024-12-09T09:33:10.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100014, "rongUserId": "LML-26274361", "groupMemberImage": "http://image.laomahahaha.com/yyqc/20240730/upload_ubhn737ealmqvqg7dgyqzst8d89lbagq.jpg", "nickName": "小刀_从利波", "laoMaNo": 959595, "sex": false, "isFriend": true, "groupMemberType": "ADMIN", "groupMemberState": true, "hasManRelated": true, "hasWomenRelated": true, "showRelated": true, "joinGroupDate": "2024-12-09T09:08:26.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100008, "rongUserId": "LML-11765040", "groupMemberImage": "http://image.laomahahaha.com/yyqc/20240828/upload_p7wg8dzkk104qzs38vreshu1s5yiz9s2.jpg", "nickName": "瀟雨萌", "laoMaNo": 759587, "sex": null, "isFriend": true, "groupMemberType": "ADMIN", "groupMemberState": true, "hasManRelated": false, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-09T09:08:26.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100001, "rongUserId": "LML-77712494", "groupMemberImage": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:17:36:657/1.png", "nickName": "张哥哥", "laoMaNo": 888888, "sex": null, "isFriend": true, "groupMemberType": "ADMIN", "groupMemberState": true, "hasManRelated": true, "hasWomenRelated": true, "showRelated": true, "joinGroupDate": "2024-12-09T09:08:26.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false }, { "groupMemberId": 100009, "rongUserId": "LML-60661160", "groupMemberImage": "../../static/8.jpg", "nickName": "天大地大我是老大", "laoMaNo": 222222, "sex": null, "isFriend": false, "groupMemberType": "CREATOR", "groupMemberState": true, "hasManRelated": true, "hasWomenRelated": false, "showRelated": true, "joinGroupDate": "2024-12-09T09:08:26.000 0000", "groupRemindState": false, "allowedPrivateChat": true, "stopPrivateChat": true, "noPrivateChatUserNum": 0, "isShield": false, "flag": false } ] let arr2 = [ { "groupGroupingMemberId": 100677, "headPicture": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:13:56:143/31.jpg", "joinGroupGroupingDate": "2025-06-26T08:14:49.000 0000", "nickName": "Chris", "laomahao": 917490, "flag": true }, { "groupGroupingMemberId": 100011, "headPicture": "http://image-laomale.test.upcdn.net/yyqc/20240717/upload_vdhdfg3skcosyqcwl6nc2iqt8tyd25fd.png", "joinGroupGroupingDate": "2025-06-26T08:14:49.000 0000", "nickName": "该喝喝", "laomahao": 666123, "flag": false }, { "groupGroupingMemberId": 99998, "headPicture": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:23:06:432/93.jpg", "joinGroupGroupingDate": "2025-06-26T08:14:49.000 0000", "nickName": "蜡笔小新", "laomahao": 616161, "flag": false }, { "groupGroupingMemberId": 100000, "headPicture": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:23:06:362/65.png", "joinGroupGroupingDate": "2025-06-26T08:14:49.000 0000", "nickName": "冷眸", "laomahao": 155176, "flag": false }, { "groupGroupingMemberId": 100691, "headPicture": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:17:36:694/79.jpg", "joinGroupGroupingDate": "2025-06-26T08:14:49.000 0000", "nickName": "敏", "laomahao": 306688, "flag": false }, { "groupGroupingMemberId": 100638, "headPicture": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:13:56:134/10.jpg", "joinGroupGroupingDate": "2025-06-26T08:15:09.000 0000", "nickName": "Leo", "laomahao": 906259, "flag": true }, { "groupGroupingMemberId": 100091, "headPicture": "http://image.laomahahaha.com/yyqc/20240828/upload_shgeloxr0zgr03a5dyep1pq1tg1xeyvi.jpg", "joinGroupGroupingDate": "2025-06-26T08:15:09.000 0000", "nickName": "暖阳", "laomahao": 100001, "flag": false }, { "groupGroupingMemberId": 99999, "headPicture": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:13:56:143/31.jpg", "joinGroupGroupingDate": "2025-06-26T08:15:09.000 0000", "nickName": "茄子豆角", "laomahao": 555555, "flag": false }, { "groupGroupingMemberId": 100035, "headPicture": "../../static/3.jpg", "joinGroupGroupingDate": "2025-06-26T08:15:30.000 0000", "nickName": "我不是家长", "laomahao": 629569, "flag": false }, { "groupGroupingMemberId": 100092, "headPicture": "http://image.laomahahaha.com/yyqc/20240730/upload_t1uohak97de6yvaxyoxt8rrd3cdh3kfz.jpg", "joinGroupGroupingDate": "2025-06-26T08:15:30.000 0000", "nickName": "哇咔咔", "laomahao": 145338, "flag": false }, { "groupGroupingMemberId": 100009, "headPicture": "../../static/8.jpg", "joinGroupGroupingDate": "2025-06-26T08:15:30.000 0000", "nickName": "天大地大我是老大", "laomahao": 222222, "flag": false }, { "groupGroupingMemberId": 100008, "headPicture": "http://image.laomahahaha.com/yyqc/20240828/upload_p7wg8dzkk104qzs38vreshu1s5yiz9s2.jpg", "joinGroupGroupingDate": "2025-06-26T08:15:30.000 0000", "nickName": "瀟雨萌", "laomahao": 759587, "flag": false }, { "groupGroupingMemberId": 100001, "headPicture": "http://images.laomahahaha.com/App/laomaleImage/2024-09-06 16:17:36:657/1.png", "joinGroupGroupingDate": "2025-06-26T08:15:30.000 0000", "nickName": "张哥哥", "laomahao": 888888, "flag": false } ]判断俩个数组内groupGroupingMemberId和groupMemberId是否相同 不相同证明arr2没有这个数据 就保存到 arr3 内
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值