cf769D(枚举位或运算)

题目链接:http://codeforces.com/problemset/problem/769/D

 

题意:求给出的 n 个数中有多少对数字的二进制形式恰好有 k 位不同

 

思路:两个数a, b的二进制形式恰好 k 位不同即 a ^ b 中 1 的个数,那么可以枚举.注意 n 为 1e5 枚举 ai 会tle,不过 ai 的范围是 1e4,显然有大量重复的元素;

可以先去重并记录每个元素出现的次数,再枚举每个元素即可;

 

代码:

 1 #include <iostream>
 2 #include <stdio.h>
 3 #define ll long long
 4 using namespace std;
 5 
 6 const int MAXN = 1e5 + 10;
 7 ll a[MAXN], vis[MAXN];
 8 
 9 int BitCount(unsigned int n){//求 n 二进制中 1 的数目
10     unsigned int tmp = n - ((n >> 1) & 033333333333) - ((n >> 2) & 011111111111);
11     return ((tmp + (tmp >> 3)) & 030707070707) % 63;
12 }
13 
14 int main(void){
15     int n, k, x, indx = 0;
16     ll ans = 0;
17     scanf("%d%d", &n, &k);
18     for(int i = 0; i < n; i++){
19         scanf("%d", &x);
20         if(!vis[x]) a[indx++] = x;
21         vis[x]++;
22     }
23     for(int i = 0; i < indx; i++){
24         if(k == 0){
25             ans += (vis[a[i]] - 1) * vis[a[i]] / 2;
26             continue;
27         }
28         for(int j = i + 1; j < indx; j++){
29             int cnt = a[i] ^ a[j];
30             if(k == BitCount(cnt)) ans += vis[a[i]] * vis[a[j]];
31         }
32     }
33     printf("%lld\n", ans);
34     return 0;
35 }
View Code

 

转载于:https://www.cnblogs.com/geloutingyu/p/6979081.html

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

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

相关文章

ASP.NET Core 同时支持多种认证方式

前言上次&#xff0c;我们实现了《ASP.NET Core 自定义认证》&#xff1a;services.AddAuthentication(option > {option.DefaultAuthenticateScheme DemoAuthenticationOptions.Scheme;option.DefaultChallengeScheme DemoAuthenticationOptions.Scheme;}).AddDemoAuthen…

Linux shell 编程(七):流程控制语句

流程控制语句 在shell中如果在终端输入多个命令&#xff0c;如果以&分隔则将命令放入后台执行&#xff0c;如果以;分隔&#xff0c;则表示一个命令集合。shell允许使用逻辑操作符&&和||来作为命令分隔符&#xff0c;他们分别时AND和OR. && 如果前面命令执行…

多线程锁--怎么理解Condition

在java.util.concurrent包中&#xff0c;有两个很特殊的工具类&#xff0c;Condition和ReentrantLock,使用过的人都知道&#xff0c;ReentrantLock&#xff08;重入锁&#xff09;是jdk的concurrent包提供的一种独占锁的实现。它继承自Dong Lea的 AbstractQueuedSynchronizer&a…

.NET 8 SDK安装包可以下载了

今早在一个技术交流群看到有.NET 8的安装交流&#xff0c;站长下载了&#xff0c;把安装过程记录了&#xff0c;总结是&#xff1a;目前还无法 正常使用 .NET 8 SDK&#xff0c;虽然可以正常下载、安装&#xff0c;但宇宙第一IDE VS还尚未支持&#xff0c;也许站长打开方式不对…

VUE3中实现word的预览功能

安装docx-preview cnpm i docx-preview --save 在vue文件中使用 <div ref"refWord" v-if"showType word" /> <script setup name"ResPreviewBox">import { ref } from vue import { httpGet, httpGetBlob } from ../utils/requ…

VUE3+pdfh5实现预览Pdf文件

安装插件 npm install pdfh5 使用 <template><el-container class"resPreview"><div ref"refPdf"/></el-container> </template><script setup name"PreviewBox">import { ref } from vue import { http…

TODO:从数据库中随机抽取一条记录

TODO&#xff1a;从数据库中随机抽取一条记录1.最直接&#xff0c;最粗暴的方法先计算记录的总数&#xff0c;然后选择一个从0到记录总数之间的随机数n&#xff0c;利用skip跳过n条记录&#xff0c;这是效率低下的的方法&#xff0c;首先的记录总数&#xff0c;在用skip会很耗时…

5gnr帧结构特点有哪些_PLC控制柜有哪些结构特点呢?

金陵奇峰PLC控制柜是指可编程控制柜&#xff0c;控制柜指成套的控制柜,可实现电机,开关的控制的电气柜。金陵奇峰PLC控制柜具有过载、短路、缺相保护等保护功能。下面奇峰小编来为大家介绍一下PLC控制柜有哪些特点。PLC控制柜特点与优势&#xff1a;1、PLC控制柜是指可编程控制…

基于 .NET 6 的轻量级 Webapi 框架 FastEndpoints

大家好&#xff0c;我是等天黑。FastEndpoints 是一个基于 .NET 6 开发的开源 webapi 框架&#xff0c;它可以很好地替代 .NET Minimal APIs 和 MVC &#xff0c;专门为开发效率而生&#xff0c;带来了全新的开发模式和编码体验。另外对于 .NET 的中间件、认证、授权、日志&…

OO学习总结(二)

第五次作业&#xff1a;多线程电梯 多线程的同步和控制 在本次作业里&#xff0c;请求发生器不断往请求队列里加入电梯请求&#xff0c;主调度器不停将电梯请求分发给从调度器&#xff0c;从调度器不断读取请求来操控电梯运行&#xff0c;因而这三者之间存在同步关系。请求发生…

3d数学基础图形与游戏开发 英文版_1850款文字标题字幕条,AE图形预设包,logo生成神器...

2019最新1850款组文字LOGO动画预设&#xff0c;一键生成&#xff01;包含图形元素/字幕/logo/动画转场/背景等所有的元素都支持AE和PR所有元素的颜色、位置、大小、文字、Logo等都可以修改&#xff0c;包含GIF动图预览&#xff0c;方便查找使用&#xff0c;一键生成狂拽炫酷屌炸…

什么?WPF 不支持 SVG ?

什么&#xff1f;WPF 不支持 SVG &#xff1f;控件名&#xff1a;SharpVectors作者&#xff1a;Elinam LLC (Japan)项目地址&#xff1a; https://github.com/ElinamLLC/SharpVectors什么是SVG&#xff1f;SVG 指可伸缩矢量图形 (Scalable Vector Graphics)&#xff1b;SVG 用…

手写数字识别

深度学习:一、感知器S型神经元sigmoid fuction:1/(1exp(-z)) ![image](https://yqfile.alicdn.com/2e0144aba1df89e4ad5437e51aa21abc052025e5.png)二、神经网路这是一个三层神经网络输入层 隐藏层 输出层三、手写数字识别神经网络一共四层神经网络&#xff0c;第一层是以28*28…

5.1 入门整合案例(SpringBoot+Spring-data-elasticsearch) ---- good

本节讲解SpringBoot与Spring-data-elasticsearch整合的入门案例。 一、环境搭建 新建maven项目&#xff0c;名字随意 pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <…

小组是什么意思_生猪期货什么时候上市?相关企业如何参与生猪期货

2020年4月生猪期货已获中国证监会批准&#xff0c;7月份大连商品交易所开展生猪期货仿真交易&#xff0c;这个期待许久的新品种上市脚步声越来越近&#xff0c;而市场各方的关注度也日益提升。同时&#xff0c;期货公司也在积极备战&#xff0c;为需要申请交割库的实体企业提供…

iNeuOS工业互联网操作系统,在航天和军工测控领域的应用

目 录1. 行业概述... 22. 解决方案... 23. 解决的痛点... 61. 行业概述现在国际形势异常严峻&#xff0c;加大了偶发武装斗争的可能性。航天和军工领域的数字化转型和建设正在积极推进&#xff0c;在与航天二院、航天三院、航天六院、航天九院、无线电厂…

[vite] Failed to load source map for */*.css|.js

打开提示的文件&#xff0c;删除 “sourceMappingURL”这一行即可

PerfView专题 (第九篇):洞察 C# 中的 LOH 内存碎片化

一&#xff1a;背景 在 内存泄漏 的系列问题中&#xff0c;有一类问题是 内存碎片化 导致的&#xff0c;而且这种更容易发生在 LOH 上&#xff0c;因为它默认不开启 对象压缩&#xff0c;一般遇到这种情况&#xff0c;优先让朋友执行下面的代码应急。GCSettings.LargeObjectHea…

HSV色彩空间

转自原文 HSV色彩空间 理解HSV色彩空间&#xff1a; HSV颜色模式是除了RGB颜色模式之外的另一种流行的颜色模式&#xff0c;RGB被广泛运用于计算机中&#xff0c;而HSV则用在电视显示方面。它更符合人们对颜色的描述(什么颜色(H)&#xff0c;深浅度如何(S)&#xff0c;亮度如…

java随机抽题系统_为什么要使用考试系统的随机组卷功能?

一个考试系统的组卷灵活性&#xff0c;不仅仅在于其题型丰富、设置参数齐全&#xff0c;也在于抽题组卷方式。除了平时我们严肃性的固定题目出卷方式&#xff0c;我们往往也考虑到需要随机组卷的功能。为什么用户会需要随机组卷的功能呢&#xff1f;随机组卷功能有什么用处&…