九度oj 题目1380:lucky number

题目描述:
每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然这样,他就想找到那些不是lucky number。
输入:
输入有两行.
第一行有n和m。n表示出现次数为n的是lucky number,m表示序列的长度。2<=n<=10,m<=10^6,m%n!=0。
第二行为序列元素,每个元素都是正整数。
输出:
输出那个不是lucky number的数。题目保证非lucky number只有一个。
样例输入:
2 5
1 1 2 2 3
样例输出:
3

发现许多重复几次的问题用位运算都是很好的办法,本题把每一个数转化为32位的二进制数
代码如下
 1 #include <cstdio>
 2 #include <cstring>
 3 
 4 int n, m;
 5 int num;
 6 int wnum[33];
 7 
 8 int main(int argc, char const *argv[])
 9 {
10     while(scanf("%d %d",&n,&m) != EOF) {
11 
12         memset(wnum, 0, sizeof(wnum));
13         int t = m % n;
14         while(m--){
15             scanf("%d",&num);
16             for(int j = 0; j < 32; j++) {
17                 int p = num&1;
18                 wnum[j] = wnum[j] + p;
19                 num = num >> 1;
20             }
21         }
22         for(int j = 0; j < 32; j++) {
23             wnum[j] = wnum[j] % n;
24         }
25         
26         int ans = 0;
27         
28         for(int j = 31; j >= 0; j--) {
29             ans = ans * 2 + wnum[j]/t;
30         }
31         printf("%d\n",ans);
32     }
33     return 0;
34 }

比如

2 5

1 1 2 2 3

结果是3

编码得到

    00000001

    00000001

    00000010

    00000010

    00000011(因为数字比较小,省略了前面3位即24个0)

     求和 00000033

取余      00000011 

出现了m%n = 1次

结果为3

 

另外,设那个不为lucky_number的数为x,有

x % n = sum%n = y
m%n *x +sum(others) = sum

不知道由这两点能不能启发出更好的办法

转载于:https://www.cnblogs.com/jasonJie/p/5811729.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装Tengine

1.安装VMware2.安装CentOS6.53.配置网络a.修改 /etc/sysconfig/network-scripts/ifcfg-eth0配置文件,添加如下内容DEVICEeth0HWADDR00:0C:29:96:01:6BTYPEEthernetUUID41cbd943-024b-4341-ac7a-e4d2142b4938ONBOOTyesNM_CONTROLLEDyesBOOTPROTOnoneIPADDRxxx.xxx.x.xxx#例如:IP…

node seneca_使用Node.js和Seneca编写国际象棋微服务,第2部分

node seneca处理新需求而无需重构 (Handling new requirements without refactoring) Part 1 of this series talked about defining and calling microservices using Seneca. A handful of services were created to return all legal moves of a lone chess piece on a ches…

【OCR技术系列之八】端到端不定长文本识别CRNN代码实现

CRNN是OCR领域非常经典且被广泛使用的识别算法&#xff0c;其理论基础可以参考我上一篇文章&#xff0c;本文将着重讲解CRNN代码实现过程以及识别效果。 数据处理 利用图像处理技术我们手工大批量生成文字图像&#xff0c;一共360万张图像样本&#xff0c;效果如下&#xff1a;…

mysql 修改字段类型死锁_mysql数据库死锁的产生原因及解决办法

数据库和操作系统一样&#xff0c;是一个多用户使用的共享资源。当多个用户并发地存取数据 时&#xff0c;在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据&#xff0c;破坏数据库的一致性。加锁是实现数据库并 发控制…

openwrt无盘服务器,搭建基于 OpenWrt/gPXE/iSCSI 的 Windows 无盘工作站

本文要介绍的是如何在 OpenWrt 平台上面搭建无盘工作站服务器以及 Windows 的 iSCSI 部署。当然&#xff0c;由于 OpenWrt 也可以算得上一种 Linux 发行版了&#xff0c;所以本文所介绍的一些方法&#xff0c;在其它 Linux 发行版上面仍有一定的参考价值。整个过程大概分为以下…

Ralink5350开发环境搭建

一、安装虚拟机(Oracle VM VirtualBox 或 VMware Workstation) 二、在虚拟机中安装linux操作系统&#xff08;当前使用的是Ubuntu1204桌面版&#xff09; 三、配置linux相关服务 安装、配置、启动ftp服务apt-get install vsftpd 改动 vsftpd 的配置文件 /etc/vsftpd.conf,将以…

figma下载_Figma重新构想的团队库

figma下载一个新的&#xff0c;功能更强大的界面&#xff0c;用于在整个组织中共享组件 (A new, more powerful interface for sharing Components across your organization) The Team Library in Figma is a set of shared Components across all files in a Team. Component…

boost python导出c++ map_使用Boost生成的Python模块:与C++签名不匹配

我正在使用名为Mitsuba的软件。它附带了一个用Boost包装的Python实现。 Python中的这一行&#xff1a;使用Boost生成的Python模块&#xff1a;与C签名不匹配scene SceneHandler.loadScene(fileResolver.resolve("model.xml"), paramMap)产生一个错误。根据文档&…

CSU-1982 小M的移动硬盘

CSU-1982 小M的移动硬盘 Description 最近小M买了一个移动硬盘来储存自己电脑里不常用的文件。但是他把这些文件一股脑丢进移动硬盘后&#xff0c;觉得这些文件似乎没有被很好地归类&#xff0c;这样以后找起来岂不是会非常麻烦&#xff1f; 小M最终决定要把这些文件好好归类&a…

杜比服务器系统安装教程,win10杜比音效如何安装?win10安装杜比音效的详细教程...

杜比音效想必大家都不陌生&#xff0c;听歌或者看电影开启杜比音效可以给人一种身临其境的感觉。不少朋友都升级了win10系统却不知道如何安装杜比音效&#xff1f;如何为自己的系统安装杜比音效呢&#xff1f;感兴趣的小伙伴请看下面的操作步骤。win10安装杜比音效的方法&#…

剑指Offer_52_正则表达式匹配

题目描述 请实现一个函数用来匹配包括.和的正则表达式。模式中的字符.表示任意一个字符&#xff0c;而表示它前面的字符可以出现任意次&#xff08;包含0次&#xff09;。 在本题中&#xff0c;匹配是指字符串的所有字符匹配整个模式。例如&#xff0c;字符串"aaa"与…

分布式系统开发注意点_分布式系统注意事项

分布式系统开发注意点by Shubheksha通过Shubheksha 分布式计算概述&#xff1a;分布式系统如何工作 (Distributed Computing in a nutshell: How distributed systems work) This post distills the material presented in the paper titled “A Note on Distributed Systems”…

前端if else_应该记录的一些项目代码(前端)

1.共享登录&#xff08;单点登录&#xff09;主要是前端部分主要是根据是否有cookie来判断是否已经登录主系统&#xff0c;然后再根据是否有当前系统的登录信息来&#xff08;这块主要是sessionStorage做的&#xff09;判断是否要再登录当前系统。设置、读取和设置cookie的方法…

Mac端解决(含修改8.0.13版的密码):Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)...

1. 安装mysql但是从来没启动过&#xff0c;今天一启动就报错&#xff1a; Cant connect to local MySQL server through socket /tmp/mysql.sock (2) 其实是mysql服务没起来。。。 localhost:~ miaoying$ mysql.server start Starting MySQL ... SUCCESS! 然后再去sudo mysql就…

塔塔建网站服务器,塔塔帝国忘记哪个区怎么办

7条解答1.在哪个区玩战舰帝国忘记了怎么办?忘了的话可以去官网登陆看看自己的 充值 或者礼包记录 有没有对应的区服 或者电话联系问问客服 通过账号 角色名字来查询2.我忘记在哪个区怎么找如果你有游戏人生资格的话&#xff0c;就很容易找了&#xff0c;在游戏人生的个人主页里…

Ixia推出首款太比特级网络安全测试平台

2016年11月18日&#xff0c;Ixia宣布推出全新CloudStorm平台。作为首款太比特级网络安全测试平台&#xff0c;该平台拥有前所未有的非凡性能&#xff0c;可用于测试及验证超大规模云数据中心不断扩大的容量、效率以及弹性。 ▲Ixia CloudStorm安全测试平台 CloudStorm的正式面市…

[转]oracle分析函数Rank, Dense_rank, row_number

oracle分析函数Rank, Dense_rank, row_number 分析函数2(Rank, Dense_rank, row_number) 目录1.使用rownum为记录排名2.使用分析函数来为记录排名3.使用分析函数为记录进行分组排名一、使用rownum为记录排名&#xff1a; 在前面一篇《Oracle开发专题之&#xff1a;分析函数》&a…

Bali BaloCSS天才

Today Bali Balo, a French designer and developer, published a new piece: a cube suspended in darkness that rotates on its own. As it does, it reveals different sides, each offering a glimpse into a different world:今天&#xff0c;法国设计师兼开发商Bali Bal…

luogu P2470 [SCOI2007]压缩

传送门 dalao们怎么状态都设的两维以上啊?qwq 完全可以一维状态的说 设\(f[i]\)为前缀i的答案,转移就枚举从前面哪里转移过来\(f[i]min(f[j-1]w(j,i))(j\in [1,i])\) 现在要知道\(w(i,j)\)怎么写,也就是区间\([i,j]\)的最小长度(要求区间最多只能在开头有一个W),首先不压缩的长…

服务器选择重装系统,云服务器重装系统选择

云服务器重装系统选择 内容精选换一换将外部镜像文件注册成云平台的私有镜像后&#xff0c;您可以使用该镜像创建新的云服务器&#xff0c;或对已有云服务器的系统进行重装和更换。本节介绍使用镜像创建云服务器的操作。您可以按照通过镜像创建云服务器中的操作指导创建弹性云服…