题目:

2350: 彩排

时间限制: 1 秒  内存限制: 2 MB
提交: 179  解决: 54
提交 状态

题目描述

南阳理工学院,举办运动会,有N个人来自不同的学院,在站队伍的时候每一排需要站K个人,并且这一排的人需要来自同一个学院,但是现在其中有一个学院的人数不是K的倍数导致他们不能满足一排的都是同一个学院的,所以我们想找出他是哪个学院的;

输入

多组测试数据;

输入一个n,k;

代表有n个人,每一排站k人;

接下来输入n个数字代表学院编号,a1,a2...an-1,an

ai代表我来自的学院,数字相同表示来自相同的学院。数字不同代表来自不同的学院。

输出

输出一个整数,代表人数不满足条件的学院编号;

样例输入

3 2
1 1 3
10 3
3 9 3 1 1 3 1 3 9 9

样例输出

3
3

提示

0<n,k≤1000000; 0<ai≤1e9; 请注意内存限制 (数据保证合法)

来源

Practice-Round#2

思路:

这个题,统计每个学校的人数,输出不能被K整除的那个,简单说 统计数字出现次数,输出不能被K整除的数字。用二进制统计一下。将每个数转化为二进制,用一个数组统计二进制每位1出现的次数,按位统计1的个数。我们可以假设,刚好能够被K整除 ,则每一个二进制位的 1 的个数都能够被K整除,若加上一个任意的数字则,则它会使得他二进制位1所在的不能够被K整除。所以只需要转化为二进制统计每个位置上1出现的次数,再对K取模

代码:

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <string>
#include <iostream>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#define mem(a,b) memset(a,b,sizeof(a))
#define N 100000+10
#define M 10000+20
#define MOD 1000000000+7
#define inf 0x3f3f3f3f
#define ll long long
using namespace std;
int a[32];
int main()
{int n,m,x;while(~scanf("%d%d",&n,&m)){mem(a,0);int t=n;while(t--){scanf("%d",&x);int i=0;while(x){a[i]=a[i]+x%2;x/=2;i++;}}int ans=0;for(int i=0; i<32; i++)if(a[i]%m)ans=(ans|(1<<i));printf("%d\n",ans);}return 0;
}

NYOJ-备用2350 彩排(位运算)相关推荐

  1. LeetCode 1286. 字母组合迭代器(回溯/位运算)

    文章目录 1. 题目 2. 解题 2.1 回溯 2.2 位运算 1. 题目 请你设计一个迭代器类,包括以下内容: 一个构造函数,输入参数包括:一个 有序且字符唯一 的字符串 characters(该字 ...

  2. python中不同进制的整数之间可以直接运算_Python 进制转换、位运算

    一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...

  3. python isodd()判断奇偶_位运算(1的个数;2.判断奇偶)

    1. 1的个数 int NumberOf1(intn){int count = 0;while(n) {++count; n=(n-1)&n; } } 同样一个问题,位运算可以提高程序的运行效 ...

  4. python 整数逆位运算_python训练营:注释、运算符、数据类型与位运算

    天学习的内容整理成脑图如下,其中带☆的是需要重点掌握的模糊知识点,需要加强训练和记忆. 二.具体学习内容 2.1 注释 2.1.1 多行注释 2.1.2 长字符串注释 2.2 运算符 2.2.1 算术 ...

  5. 洛谷P1896 [SCOI2005]互不侵犯 状压dp+位运算

    题目链接:https://www.luogu.org/problem/P1896 题意:n*n的格子填数,每个数填放位置的周围(8个)不能有其他的数 n<=9 ,矩形状压 f[i][j][s], ...

  6. mysql 使用位运算

    如果你不知道什么是位运算的话, 那么请你先去看看基础的C语言教程吧. 与运算 a & b  , 或运算 a | b ,  异或运算 a ^ b , 或者 你也可以将 与运算理解为 + 法  例 ...

  7. 位运算+取某一位+java_Java位运算小节

    2019新春支付宝红包技术大揭秘在线峰会将于03-07日开始,点击这里报名届时即可参与大牛互动. 位运算表达式由操作数和位运算符组成,实现对整数类型的二进制数进行位运算.位运算符可以分为逻辑运算符(包 ...

  8. 进制转换 位运算(包括补码、原码、反码、~0等一些零碎东西一次说清)

    我发现网上关于标题上的内容介绍的都很零碎,因此为了方便查找.也为了本人对这一部分的充分理解,就想着写一篇这样的博客(我分成了几个部分,以便查找): 一.进制转换 让我们先来看看各个进制的定义: 十进制 ...

  9. (转)C语言位运算详解

    地址:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html C语言位运算详解 作者:911 说明:本文参考了http://www2.ts ...

最新文章

  1. 韩宇:如何准备天池深度学习比赛?
  2. 以下选项不是python文件读操作的是-以下选项中,不是Python中文件操作的相关函数是()...
  3. 玩转OpenVswitch 简介
  4. 有关子数组最大累加和的算法小结
  5. ubuntu9.10配置编译xawtv-3.95
  6. scrapy爬虫框架的分类下载和异步下载到数据库
  7. tar: bzip2:无法 exec: 没有那个文件或目录
  8. 使用Introspector(Java内省机制)实现Map转换为JavaBean
  9. 聚簇索引与非聚簇索引的区别以及SQL Server查询优化技术
  10. redhat 7 防火墙配置
  11. Jupyter notebook基础教程(启动,汉化,操作)
  12. Linux常用知识与命令
  13. ie/ff动态的添加属性、事件
  14. 家用nas的过去现在和未来--2008n年
  15. 8种排序算法(Java实现)
  16. ASC19 初赛要求自翻译
  17. hdu5773 The All-purpose Zero(LIS变形)
  18. 安卓逆向学习 之 KGB Messenger的writeup(1)
  19. el-upload上传图片,限制上传数量,超过最大数量则不展示上传组件,可点击删除
  20. 加速下载ardupilot工程

热门文章

  1. Dreambox的enigma和enigma2,一些想法。
  2. activemq--可持久化机制之AMQ
  3. Oracle之where之后的case when执行不同的条件
  4. cad连接不同线段的端点_【CAD图形】】为什么CAD连续的图形无法连接成完整的多段线...
  5. 【2019.07.23 Python每日一题】答案—— 企业发放的奖金根据利润提成
  6. 人事面试题目之——人事65问
  7. Python——用爬虫下载妹子图
  8. Linux上subversion的安装和使用
  9. react axios和ajax网络请求拦截(session过期跳转登录页)
  10. linux hd4000显卡驱动,如何在Linux上为Intel HD 4000获取OpenGL 4