D. Divisible Pairs

2024-02-16 04:52
文章标签 pairs divisible

本文主要是介绍D. Divisible Pairs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

思路:我们预处理出每个数分别摸上xy的值,用map存一下,然后遍历每个数,如果a + b是x的倍数的话,那么他们模x的值相加为x,如果a - b是y的倍数的话,那么他们的模y的值相等。

代码:

void solve(){int n, x, y;cin >> n >> x >> y;vector<int>a(n);for(int i = 0;i < n;i ++)cin >> a[i];map<pair<int,int>,int>mp;for(int i = 0;i < n; i++){int lx = a[i] % x;int ly = a[i] % y;mp[{lx,ly}] ++;}int ans = 0;for(int i = 0;i < n; i++){int lx = a[i] % x;int ly = a[i] % y;int cnt = mp[{(x - lx) % x, ly}];if((x - lx) % x == lx){if(cnt)ans += cnt - 1;}else{if(cnt)ans += cnt;}}ans /= 2;cout << ans << endl;
}

这篇关于D. Divisible Pairs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/713530

相关文章

leetcode-24Swap Nodes in Pairs

带头结点。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/public class Solution {public ListNode swapPairs(L

【lua实战】lua中pairs和ipairs的区别

很久以前,我在使用lua的过程中,对于pairs和ipairs的理解还处于表层,认为我了解的就是全部。 ipairs就是对表中元素进行顺序排序,pairs就是对表中元素进行随机排序。 比如如下例子: local t = {20, "ss", print, 10}print("------ipairs------")for k,v in ipairs(t) doprint(k,v)end

B. Pleasant Pairs

time limit per test 2 seconds memory limit per test 256 megabytes You are given an array a1,a2,…,ana1,a2,…,an consisting of nn distinct integers. Count the number of pairs of indices (i,j)(i,j) su

Leetcode 3267. Count Almost Equal Pairs II

Leetcode 3267. Count Almost Equal Pairs II 1. 解题思路2. 代码实现 题目链接:3267. Count Almost Equal Pairs II 1. 解题思路 这一题同样是题目3265. Count Almost Equal Pairs I的进阶版本。 它主要的区别在于说: 最大的操作次数增加到两次;数组长度增加到最大5000 然后,首

【LeetCode】Swap Nodes in Pairs 链表指针的应用

题目:swap nodes in pairs <span style="font-size:18px;">/*** LeetCode Swap Nodes in Pairs * 题目:输入一个链表,要求将链表每相邻的两个节点交换位置后输出* 思路:遍历一遍即可,时间复杂度O(n)* Definition for singly-linked list.* public class ListNo

K-diff Pairs in an Array问题及解法

问题描述: Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in the array. Here a k-diff pair is defined as an integer pair (i, j), where i and j are both num

Map Sum Pairs问题及解法

问题描述: Implement a MapSum class with insert, and sum methods. For the method insert, you'll be given a pair of (string, integer). The string represents the key and the integer represents the valu

lua 中pairs 和 ipairs区别

lua 中pairs 和 ipairs区别 标准库提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代数组元素的(ipairs),迭代字符串中单词的  (string.gmatch)等等。LUA手册中对与pairs,ipairs解释如下: ipairs (t) Returns three values: an iterator

Number of Pairs[二分查找函数]

Number of Pairs 题面翻译 【题目描述】 给出一个由整数组成的数组 a a a,求一对整数 ( i , j ) (i, j) (i,j)( 1 ≤ i < j ≤ n 1 \le i < j \le n 1≤i<j≤n)满足 l ≤ a i + a j ≤ r l \le a_i + a_j \le r l≤ai​+aj​≤r 的数量。 【输入格式】 在输入的第一行为

LightOJ 1236 Pairs Forming LCM

一道唯一分解的题目。 代码: #include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>using namespace std;#define maxn 10000010typedef long long LL;LL prime[1000000];bool