日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NYOJ-备用2350 彩排(位运算)

發布時間:2024/3/24 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NYOJ-备用2350 彩排(位运算) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:

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 彩排(位运算)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。