登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
科技
›
【题解】CF2077B Finding OR Sum
【题解】CF2077B Finding OR Sum
[ 复制链接 ]
搜娲瘠
2025-6-8 22:23:20
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
本文发布于博客园和洛谷,若您在其他平台阅读到此文,请前往博客园获得更好的阅读体验。
跳转链接:https://www.cnblogs.com/TianTianChaoFangDe/p/18771334。
思路
关于此题,我们首先对 \(n | x\) 变一下形,\(n | x = n + (x \& \sim n)\),也就是把 \(n\) 和 \(x\) 同时为 \(1\) 的位在 \(x\) 中删掉,这样的话,为 \(1\) 的位要么在 \(n\),要么在 \(x\),因此我们可以得出 \((x \& \sim n) + (y \& \sim n) = (n | x) + (n | y) - 2 \times n\)。
我们要得到 \((m | x) + (m | y)\) 的值,只需要把每一位上 \(x\) 和 \(y\) 的 \(1\) 的出现数量情况找出来,再根据 \(m\) 的每一位是 \(1\) 还是 \(0\) 来模拟或运算以及位运算即可。
那么我们如何在两次询问的情况下,把每一位的 \(1\) 的出现数量找出来呢?
我们注意到,在二进制位的情况下相加,当前位为第 \(i\) 位,如果第 \(i + 1\) 位和 \(i - 1\) 位都是 \(0\),则两个数的第 \(i\) 位相加只会有这两种情况:
两个 \(1\):第 \(i + 1\) 位为 \(1\),第 \(i\) 位为 \(0\)。
两个 \(0\):第 \(i + 1\) 位和 第 \(i\) 位均为 \(0\)。
一个 \(1\) 一个 \(0\):第 \(i\) 位为 \(1\),第 \(i + 1\) 位为 \(0\)。
那么,我们就可以根据上面那个式子,求一次奇数位全部变成 \(0\) 的两个数的和,把偶数位的 \(1\) 的出现次数情况求出来,求一次偶数位全部变成 \(0\) 的两个数的和,把奇数位的 \(1\) 的出现次数情况求出来。
然后,根据下面的规则逐位求解:
如果 \(m\) 第 \(i\) 位为 \(1\),那么这一位对答案的贡献就是 \(1 \ll (i + 1)\)。
如果 \(m\) 第 \(i\) 位为 \(0\),那么这一位对答案的贡献就看 \(1\) 的出现次数,如果出现次数为 \(2\),那就是 \(1 \ll (i + 1)\),如果出现次数为 \(1\),那就是 \(1 \ll i\)。
AC CODE
[code]#include #define inf 2e18#define int long longconst int N = 2e5 + 9;int ask(int x) { std::cout op; return op;}void solve(){ std::vector a(30); int tmp = 0; for(int i = 0;i < 30;i += 2) { tmp |= (1ll
题解
CF2077B
Finding
OR
Sum
相关帖子
题解:P2157 [SDOI2009] 学校食堂
ICPC2023南京个人题解
比赛题解 总结
随机爬树题解
热身赛总结 题解
qoj 2610 题解
[CEOI 2025] Equal Mex 题解
题解:P11811 [PA 2015] 人赢 / Mistrzostwa
团体设计天梯赛L1题解
题解 SP10366 CODEIT03 - Play with Dates
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
题解:P2157 [SDOI2009] 学校食堂
2
412
剧拧并
2025-11-01
业界
ICPC2023南京个人题解
1
75
缢闸
2025-11-09
业界
比赛题解 总结
2
955
尤晓兰
2025-11-09
业界
随机爬树题解
3
120
习和璧
2025-11-18
业界
热身赛总结 题解
3
693
茅断卉
2025-11-24
安全
qoj 2610 题解
0
153
国语诗
2025-11-27
安全
[CEOI 2025] Equal Mex 题解
1
746
城徉汗
2025-11-28
安全
题解:P11811 [PA 2015] 人赢 / Mistrzostwa
0
411
狞嗅
2025-12-05
业界
团体设计天梯赛L1题解
0
656
当贵
2025-12-06
业界
题解 SP10366 CODEIT03 - Play with Dates
0
133
夔新梅
2025-12-13
回复
(3)
赖琳芳
2025-10-8 13:46:02
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
用心讨论,共获提升!
诈知
2025-10-14 05:22:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
yyds。多谢分享
簑威龙
5 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
搜娲瘠
5 天前
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991124
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
586
python3.13 3.14 新特性 好好好
780
Python新利器:用uv轻松管理venv虚拟环境和
953
Open-AutoGLM项目衍生自研app测试思路
179
.Net-Avalonia学习笔记(目录)
435
PoloAPI 绘画接口全攻略:从参数详解到实战
144
剑指offer-50、数组中重复的数字
178
嫌 Google 的 TCREI 太复杂?RACE 会更适合
975
Spring Boot中HTTP请求参数转换和请求体JSO
530
AI手机的“简单替换陷阱”与Hadoop、Cloude
474
用C#重现Gin风格:极简、效率与可扩展性设
241
AI运动识别插件-APP版新版特性速览
776
NetBox 自动化导入资产 - IP地址
80
在调度的花园里面挖呀挖
766
ACP:让 AI 编程工具配置从此告别碎片化 —
862
画高保真原型图用什么软件?产品经理与设计
67
企业数字化转型如何破局?看这三大招
752
解决 iOS 上 Swiper 滑动图片闪烁问题:原
425
OpenCV (C++) 提速技巧(以Haar小波变换为
210
Claude Code 使用 Skills
671
资源总是不够用?这次,我用一套系统盘活了