当前位置: 首页 > news >正文

codeforces 1851F

题目链接

题目大意:给你一个长度为n的数组a, 和一个整数k(2<=n<=2e5, k<=30, a[i]<=pow(2,k))。
任选一个x,求(a[i] ^ x) & (a[j] ^ x) 的最大值(1<=i,j<=n, i!=j, x<=pow(2,k))。

由于中间有个&,所以我们要求两个数最高位尽量相等,所以a[i]和a[j]的最高位也要尽量相等,
然后可以通过x的构造最大值,可以想到我们肯定想让结果的最高位为1,
那么x与另外两个数的高位就要不同,但是可以想到当a[i]和a[j]某一位不同时,x这位的取值就不重要了。
要求a[i]和a[j]尽量相等的结果,可以转化为求最小异或和问题。
最小异或和只需要排个序即可。 

void solve() {int n, k;cin >> n >> k;vector<int> a(n), p(n);for (int i = 0; i < n; i++) {cin >> a[i];p[i] = i;}sort(p.begin(), p.end(), [&](int i, int j) {return a[i] < a[j];});int i = -1, j = -1, x = -1;int ans = 1 << k;for (int t = 1; t < n; t++) {if(ans > (a[p[t]] ^ a[p[t - 1]])) {ans = a[p[t]] ^ a[p[t - 1]];i = p[t] + 1;j = p[t - 1] + 1;x = ((1 << k) - 1) ^ (a[p[t]] | a[p[t - 1]]);}}cout << i << ' ' << j << ' ' << x << "\n";
}

 

相关文章:

  • 微机原理_5
  • C语言第三十三弹---交换变量(不使用临时变量)
  • Java Web——XML
  • 单例模式-C++实现
  • NX二次开发UF_CURVE_ask_wrap_curve_parents 函数介绍
  • 量子计算 | 解密著名量子算法Shor算法和Grover算法
  • MySQL进阶知识
  • Unsupervised MVS论文笔记(2019年)
  • 【云原生 Prometheus篇】Prometheus的动态服务发现机制
  • vue+SpringBoot的图片上传
  • python生成邀请码,手机验证码
  • Android控件全解手册 - 自定义实现水波进度
  • 解决kubernetes中微服务pod之间调用失败报错connection refused的问题
  • Nginx(资源压缩)
  • 人工智能 -- 神经网络
  • 【Leetcode】101. 对称二叉树
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • AWS实战 - 利用IAM对S3做访问控制
  • conda常用的命令
  • CSS居中完全指南——构建CSS居中决策树
  • js
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • js算法-归并排序(merge_sort)
  • mysql_config not found
  • OSS Web直传 (文件图片)
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • ubuntu 下nginx安装 并支持https协议
  • vue 个人积累(使用工具,组件)
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 前言-如何学习区块链
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 算法-插入排序
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 延迟脚本的方式
  • 用Visual Studio开发以太坊智能合约
  • ​​​​​​​​​​​​​​Γ函数
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #vue3 实现前端下载excel文件模板功能
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (5)STL算法之复制
  • (C++17) std算法之执行策略 execution
  • (function(){})()的分步解析
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (过滤器)Filter和(监听器)listener
  • (一) springboot详细介绍
  • (转)scrum常见工具列表
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET 的程序集加载上下文
  • .net2005怎么读string形的xml,不是xml文件。
  • .ui文件相关
  • ::什么意思