Codeforces Round 456 (Div. 2) - B. New Year‘s Eve (位运算,Bitsmasks)

由于格里莎去年表现良好,新年前夕,戴德-莫罗兹带着一大包礼物来看望他!袋子里装着 n 颗来自老式面包店的糖果,每颗糖果都按照口味从 1 到 n 贴上标签。没有两颗糖果的口味是相同的。

糖果的选择直接影响到格里莎的幸福感。我们可以认为他应该吃最好吃的糖果 --但不是,节日的魔力颠覆了一切。重要的是美味的 xor 和,而不是普通的和!

整数序列 a 1 , a 2 , . . . , a m a_1, a_2, ..., a_m a1,a2, ...,am 的异或和定义为其所有元素的异或。在这里插入图片描述

Ded Moroz 警告格里莎他还有更多的房子要去,所以格里莎可以从袋子里拿走 不超过 k 的糖果。帮助格里沙确定他能获得的最大 xor 和(最大 xor 和意味着最大的快乐!)。

输入
唯一字符串包含两个整数 n n n k ( 1 ≤ k ≤ n ≤ 1 0 18 ) k ( 1 ≤ k ≤ n ≤ 10^{18} ) k(1 kn 1018)

输出
输出一个数字 —— 最大可能的异或和。


  • 在k = 1的时候,我们只能够选择一个数,那怎么选才能最大 ? 当然直接选最大的。

  • 在k > 1的时候。
    此处明确异或的性质,即二进制数位相同为0,不同为1。
    如果我们想要一个数最大,那么就是要让这个数的二进制数位有更多的1,在这里如果我们找到小于n的最大的2的m次方数,那么这个数表示出来就是: ( 100000000 … 000 ) 2 (100000000 \dots 000)_2 (100000000000)2,那么我们想要这个数的所有数位都变成1该怎么办 ?
    只需要让 ( 2 m ) (2^m) (2m) X O R XOR XOR ( 2 m − 1 ) (2^m - 1) (2m1)
    这里的过程就是两个二进制数相互异或: ( 1000000 … 0000 ) 2 (1000000 \dots 0000)_2 (10000000000)2 X O R XOR XOR ( 0111111 … 1111 ) 2 (0111111 \dots 1111)_2 (01111111111)2
    注意这里 k k k 大于等于2,那么一定能取得两个数,并且 2 m 2^m 2m 2 m − 1 2^m-1 2m1 当然都是小于等于 n n n 的,所以这两个数一定能够取到。

CODE:

#include<bits/stdc++.h>
using namespace std;
#define ll long longint lowbit(ll x){return x&-x;
}int main(){ll n,k;cin >> n >> k;if(k == 1){cout << n << endl;return 0;}int l = 0,r = 60;while(l < r){int mid = l + r + 1 >> 1;if((1ll << mid) <= n)l = mid;else r = mid - 1;}cout << (1ll << l+1)-1 << endl;return 0;
}

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

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

相关文章

[CR]厚云填补_M3R-CR Dataset and Align-CR

Multimodal and Multiresolution Data Fusion for High-Resolution Cloud Removal: A Novel Baseline and Benchmark Abstract 去云(Cloud Removal)是遥感领域的一个重要且具有挑战性的问题&#xff0c;近年来在这一领域取得了显著进展。两个主要问题仍然阻碍着CR的发展&#…

WebRTC实现多人通话-Mesh架构【保姆级源码教程】

一、Mesh架构 WebRTC&#xff08;Web Real-Time Communications&#xff09;中的Mesh架构是一种将多个终端之间两两进行连接&#xff0c;形成网状结构的通信模式。以下是关于WebRTC的Mesh架构的详细解释&#xff1a; 基本概念&#xff1a;在Mesh架构中&#xff0c;每个参与者…

map、set底层封装模拟实现(红黑树)

文章目录 一、红黑树1.1红黑树的规则&#xff1a;1.2红黑树的插入操作1.2.1不需要旋转&#xff08;如果叔叔存在且为红,这里的C表示孩子&#xff0c;P表示父亲&#xff0c;U表示叔叔&#xff0c;G表示祖父&#xff09;&#xff0c;包含四种情况&#xff0c;无论孩子在哪里&…

对XYctf的一些总结

对XYctf的一些总结 WEB 1.http请求头字段 此次比赛中出现的&#xff1a; X-Forwarded-For/Client-ip&#xff1a;修改来源ip via&#xff1a;修改代理服务器 还有一些常见的字段&#xff1a; GET&#xff1a;此方法用于请求指定的资源。GET请求应该安全且幂等&#xff0c…

202003青少年软件编程(Python)等级考试试卷(二级)

第 1 题 【单选题】 运行下方代码段,输出的结果是(   )。 a=(1,2,3)print(type(a))A :<class ‘float’> B :<class ‘int’> C :<class ‘str’> D :<class ‘tuple’> 正确答案:D 试题解析: 第 2 题 【单选题】 content.txt中原来的内容…

“前人种树,后人乘凉”:【薪象营】五一探访活动弘扬传统美德

在五一劳动节这一天&#xff0c;唐刚携带【唐江军】的前成员&#xff0c;前往广州开展了一场特殊的慈善探访活动。这不仅是一个简单的慈善活动&#xff0c;更是唐刚希望向新成立的【薪象营】传承的一种精神和行动典范。 精神传承与实际行动 唐刚&#xff0c;【唐江军】的发起人…

3D模型实时变形算法

最近&#xff0c;在尝试渲染一些奇怪的形状后&#xff0c;我陷入了计算机图形学的困境。事实证明&#xff0c;对于我试图解决的具体问题&#xff0c;没有现有的选项完全适合我想要做的事情。几周后&#xff0c;我终于带着一些答案再次浮出水面&#xff0c;写了很多行代码&#…

webpack4和webpack5区别1---loader

webpack4处理图片和字体的loader file-loader file-loader的作用是处理webpack中的静态资源文件。File Loader可以将各种类型的文件&#xff0c;如图像、字体、视频等转换为模块并加载到Web应用程序中。它通过import或require语句引入文件资源&#xff0c;并将其放置在输出目…

【蓝桥杯备赛国赛】5-5

文章目录 求阶乘双子数 求阶乘 求阶乘 分析k的范围&#xff0c;10的18次方。这个数字很大 想要末尾有0的存在必须要2和5&#xff0c;但是通过分析2的数目应该是远远多于5的&#xff0c;所以只要5的数目够多即可。所以for循环的层次也是10的九次方以上&#xff0c;必然会超时&…

优雅处理返回信息状态码:Result对象在Spring Boot中的应用

前言 在开发过程中&#xff0c;处理返回的信息状态码是一个重要的问题&#xff0c;尤其是在大型项目中。为了统一处理这些状态码&#xff0c;我在Spring Boot中创建了一个名为Result的Java对象&#xff0c;用于封装返回的信息和状态码。在本文中&#xff0c;我将分享如何实现这…

【算法系列】链表

目录 常用技巧 常用操作 leetcode/牛客题目 一、移除链表元素 二、反转链表 三、链表的中间结点 四、返回倒数第k个节点 五、合并两个有序链表 六、链表分割 七、链表的回文结构 八、相交链表 九、环形链表 十、环形链表 II 十一、随机链表的复制 十二、两数相加…

【图像增强(空域)】基于灰度变换的图像增强及Matlab仿真

1. 摘要&#xff1a; 空域内的图像增强就是调整灰度图像的明暗对比度&#xff0c;对图像中各个像素的灰度值直接进行处理。常用的方法包括&#xff1a;灰度变换增强和直方图增强。 2. 原理&#xff1a; 灰度变换增强是空域ne对图像进行增强的一种简单且直接的方法。灰度变换…

使用CUDA的PyTorch进行张量重整化的gpu加速

使用CUDA的PyTorch进行张量重整化的gpu加速 摘要IntroductionAlgorithm and TorchTrg discussionModels and Results GPU-Acceleration of Tensor Renormalization with PyTorch using CUDA 摘要 作者展示了基于张量重整化群&#xff08;TRG&#xff09;方法的数值计算可以通过…

绝地求生:季后赛名额确定!NH战队总积分榜排名第一!

2024年5月5日&#xff0c;PCL春季赛常规赛第五阶段第三天比赛结束&#xff0c;今天打完春季赛常规赛结束&#xff0c;16个战队进入季后赛的名额已确定。NH战队总积分506分&#xff0c;总积分榜排名第一&#xff01;&#xff01;NH战队也是唯一一支总积分超过500分的队伍。今天最…

【前端】HTML实现个人简历信息填写页面

文章目录 前言一、综合案例&#xff1a;个人简历信息填写页面 前言 这篇博客仅仅是对HTML的基本结构进行了一些说明&#xff0c;关于HTML的更多讲解以及CSS、Javascript部分的讲解可以关注一下下面的专栏&#xff0c;会持续更新的。 链接&#xff1a; Web前端学习专栏 下面我对…

LLaMA 羊驼系大语言模型的前世今生

关于 LLaMA LLaMA是由Meta AI发布的大语言系列模型&#xff0c;完整的名字是Large Language Model Meta AI&#xff0c;直译&#xff1a;大语言模型元AI。Llama这个单词本身是指美洲大羊驼&#xff0c;所以社区也将这个系列的模型昵称为羊驼系模型。 Llama、Llama2 和 Llama3…

C++字模软件发送 单片机接收显示

/****先定义数组类型再赋值**L310*********/ /*2014 8 21 10:01**PAST*CODE1000**TEST**/ #include<reg51.h> #define uint unsigned int #define uchar unsigned char sfr AUXR0x8e; //辅助寄存器 sfr SADDR0xA9; …

多链路聚合设备是什么

多链路聚合设备属于通信指挥装备。 乾元通多链路聚合设备&#xff0c;它能够将多个网络链路聚合成一个逻辑链路&#xff0c;以实现高速、稳定、可靠的数据传输。多链路聚合设备的核心技术包括链路聚合、负载均衡、故障切换等&#xff0c;能够智能管理和优化利用不同网络链路&a…

websevere服务器从零搭建到上线(二)|Linux上的五种IO模型

文章目录 阻塞 blocking非阻塞 non-blockingIO复用 IO multiplexing信号驱动 signal-driven异步 asynchronous拓展知识 看过上篇文章英国基本能理解本文五张图的内容websevere服务器从零搭建到上线&#xff08;一&#xff09;&#xff5c;阻塞、非阻塞、同步、异步 本文要能够在…

HIVE统计WordCount

HIVE WORDCOUNT 目录 HIVE WORDCOUNT 一、WORDCOUNT 1.我们先创建一个新的数据库 2.创建表并插入数据 3.统计WORDCOUNT 4.UNION ALL 用法 5.WITH AS 用法 1.WORDCOUNT 1&#xff09;我们先创建一个新的数据库 create database learn3;use learn3; 2&#xff09;创建表…