D. Divisible Pairs

原题链接

题解

  • 如果 (ai+aj) mod x==0 那么 (ai mod x+aj mod x) mod x==0
  • 如果 (aiaj) mod y==0 那么 ai mod y==aj mod y

所以我们可以把每个 a 的求模情况存下来, a[i] 的贡献为其前面的 a 出现的对应求模情况数量

code

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n,x,y;
        cin>>n>>x>>y;

        long long ans=0;
        map<int,map<int,int>> q;
        for(int i=1;i<=n;i++)
        {
            int a;
            cin>>a;
            ans+=q[(x-a%x)%x][a%y];
            q[a%x][a%y]++;
        }
        cout<<ans<<endl;
    }
    return 0;
}

posted @   纯粹的  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示