九度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.pswp.cn/news/395236.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395236.shtml
英文地址,請注明出處:http://en.pswp.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;或對已有云服務器的系統進行重裝和更換。本節介紹使用鏡像創建云服務器的操作。您可以按照通過鏡像創建云服務器中的操作指導創建彈性云服…