CF 1133B Preparation for International Women's Day
题目分析
读完题目,凡是先暴力.....(不用想,第四组数据就TLE了,QAQ)
当两个数的和为k的倍数的时候就凑成一组,那么一定有 (a+b) % k == (a%k + b %k) % k , 而其中对于 a+b 为k的倍数的情况,有(a+b)%k == a%k+b%k - k == 0, 我理解为a%k 和 b % k 分别是a,b对凑成数k的贡献。然后,你们也应该想到了,即然满足的组合a%k + b%k == 0,那么我们用数组num[]来存各个数对k取模后的值( x % k )出现的次数,然后,下标之和为k的数就是满足条件的配对,后面就简单了,统计数量就OK 。
代码区
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include <vector>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const int Max = 2e5 + 10;
const int mod = 1e9 + 7;
int num[Max]; //记录各个值(value[x])对k取模后的数的出现次数
int value[Max];
int main()
{
int n, k;;
while (scanf("%d%d", &n, &k) != EOF)
{
memset(num, 0, sizeof(num));
for (int i = 1; i <= n; i++)
{
scanf("%d", value + i);
num[value[i] % k]++; //两数相加后取模和 两数先取模后相加再取模 结果一样
}
int sum = num[0] / 2; //记录可以配对的对数
if (k % 2 == 0) //k/2的相加
{
sum += num[k / 2] / 2; //k/2的相加
}
int l = 1, r = k - 1;
while (l < r)
{
sum += min(num[l], num[r]);
l++;
r--;
}
printf("%d\n", 2 * sum);
}
return 0;
}
CF 1133B Preparation for International Women's Day的更多相关文章
- Codeforces Round #544 (Div. 3) B.Preparation for International Women's Day
链接:https://codeforces.com/contest/1133/problem/B 题意: 给n个数,和一个k,在n个数中选几对数,保证没对数相加可以整除k. 求最大能选几个数. 思路: ...
- Codeforces Round #544 (Div. 3)解题报告
A.Middle of the Contest 考虑把输入的时间单位化成分钟,相加除以2就好了 #include<bits/stdc++.h> using namespace std; # ...
- CodeForces Round #544 Div.3
A. Middle of the Contest 代码: #include <bits/stdc++.h> using namespace std; int h1, m1, h2, m2; ...
- CF-544:部分题目总结
-------------------昨天打的重现赛,感觉是我打的发挥的最好的一场比赛了,六题都一次AC.那么就来总结一下吧 题目链接:http://codeforces.com/contest/11 ...
- News common vocabulary
英语新闻常用词汇与短语 经济篇 accumulated deficit 累计赤字 active trade balance 贸易顺差 adverse trade balance 贸易逆差 aid 援助 ...
- S8-codelab02
import news_cnn_model import numpy as np import os import pandas as pd import pickle import shutil i ...
- 100-days: ten
Title: Emma Watson(艾玛·沃森), Keira Knightley(凯拉·奈特莉) among stars(众多明星之一) urging(竭力主张,呼吁某事) better pro ...
- SimpleCalendar日历插件改版
先附上一张货真价实的效果图: 以上部分代码,为了适应我司项目的需求,原来插件源码大改(因为项目中下拉框用了select2,所以原来插件的下拉框就有问题了,在加上原来插件本身就有点问题,特别是农历 .节 ...
- 关于cf[转]
还不怎么熟悉cf呢.. 你应当知道的关于Codeforces的事情 Codeforces简称: cf(所以谈论cf的时候经常被误会成TX的那款游戏).网址: codeforces.com 这是一个俄国 ...
随机推荐
- TensorFlow使用记录 (九): 模型保存与恢复
模型文件 tensorflow 训练保存的模型注意包含两个部分:网络结构和参数值. .meta .meta 文件以 “protocol buffer”格式保存了整个模型的结构图,模型上定义的操作等信息 ...
- canvas小实验
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue子组件改变父组件的值
1 在父组件的coment绑定事件 <template> <div :class="classObj" class="app-wrapper" ...
- template模板循环嵌套循环
template嵌套循环写法:在第一次循环里面需要循环的地方再写个循环,把要循环的数据对象改为第一层的循环对象别名 //template模板循环嵌套循环 <script id="ban ...
- [题解] [AHOI2009] 跳棋
题面 题解 分类讨论, 考虑到只要所有的偶数点上都有棋子, 最左边的棋子就可以跳到最右边 题目第一问让我们求最少的在白格子上必须放的棋子数(不用考虑行动中放的棋子数) 考虑到这几种情况 有不少于两个红 ...
- Linux 下运行 class 文件
1. 基本命令 java -cp searchDir classFile -cp searchDir : 指定从该目录搜索 class 文件 classFile :类路径(不包含 .class ...
- SSRF和XSS-filter_var(), preg_match() 和 parse_url()绕过学习
0x01:url标准的灵活性导致绕过filter_var与parse_url进行ssrf filter_var() (PHP 5 >= 5.2.0, PHP 7) filter_var — 使用 ...
- Spring Annotations
@Bean 这是一个方法注解,作用是实例化一个Bean并使用该方法的名臣命名.
- TLS Thread Local Storage
https://blog.csdn.net/yusiguyuan/article/details/22938671 https://blog.csdn.net/simsunny22/article/d ...
- Java静态函数、父类、子类执行顺序
package class_test; /** * 静态函数.父类.子类执行顺序 * @author root * */ public class Test { public static void ...