QOJ7411 Bitwise Xor

news/2025/10/5 17:38:20/文章来源:https://www.cnblogs.com/lordreamland/p/19126766

内部通道(jzyz P6035),与原题唯一不同在于一个也不选也算一种方案。
首先挖掘性质。将\(a_i\)从小到大排序后,\(a_i\oplus a_j\)的最小值一定在某一对相邻\(a_i\),即\(a_i\oplus a_{i+1}\)处取到。
简易证明:排过序后,对于相邻的\(i,j,k\),从最高位去考虑,要么是\(0,0,1\),要么是\(0,1,1\),那么选\(i,j\)\(j,k\)一定不会比选\(i,k\)大。由此,若任意相邻位置满足条件,则整个序列都满足条件。
那么设\(dp_i\)表示以\(a_i\)结尾的方案数。根据以上性质显然有:\(dp_i=1+\sum_{a_j<a_i}dp_j[a_j\oplus a_i\ge m]\)
考虑在 Trie 上DP。这个我以前还真没怎么写过,所以记录一下代码实现。
首先,记录\(val_u\)表示 Trie 上\(u\)号点代表路径的\(dp\)值之和。即在 Trie 上插入\(a_i\)对应的\(dp_i\)时,令路径上每个节点\(u\)\(val\)值加上\(dp_i\)
为了求\(dp_i\)在 Trie 上查询时,考察\(m\)二进制下当前位:
若为\(1\),则这一位必须与\(a_i\)的对应位不同,直接移动指针经过与\(a_i\)状态不同的边。
若为\(0\),则这一位无限制,由于排了序,当前Trie上插入的都比\(a_i\)小,直接累加与\(a_i\)状态不同的边到的节点的\(val\),然后移动指针经过与\(a_i\)状态相同的边。

点击查看代码
int n;
ll m, a[N], dp[N], son[N * 60][2], val[N * 60];struct Trie{int tt = 1;void insert(ll x, ll k){int p = 1;for(int i = 59; i >= 0; i--){int y = ((x >> i) & 1);if(! son[p][y]) son[p][y] = ++tt;p = son[p][y];(val[p] += k) %= mod;}}ll ask(ll x, ll lim){int p = 1;ll rs = 0ll;for(int i = 59; i >= 0; i--){int y = ((x >> i) & 1), z = ((lim >> i) & 1);if(z) p = son[p][1 - y];else rs += val[son[p][1 - y]], p = son[p][y];rs %= mod;}(rs += val[p]) %= mod;return rs;}
}T;signed main(){read();n = read(), m = readll();for(int i = 1; i <= n; i++) a[i] = readll();sort(a + 1, a + n + 1);ll res = 0ll;for(int i = 1; i <= n; i++){dp[i] = T.ask(a[i], m) + 1ll;dp[i] %= mod;T.insert(a[i], dp[i]);res += dp[i];res %= mod;}cout << (res + 1) % mod;return 0;
}

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

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

相关文章

完整教程:SOC-ESP32S3部分:25-HTTP请求

完整教程:SOC-ESP32S3部分:25-HTTP请求pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

为什么要采用“接口 - 抽象类 - 实现类”这种三层结构? - 浪矢

目录核心思想各层职责与优势第一层:接口 (Interface) - 负责“定义契约”,实现“解耦”第二层:抽象类 (Abstract Class) - 负责“封装通用”,实现“复用”第三层:实现类 (Implementation Class) - 负责“具体业务…

对外提供 AI 服务的风险:合规视角与 AI 安全围栏落地指南

对外提供人工智能服务,主要风险集中在提示词攻击与越权操控、不当内容输出与内容合规、敏感信息与个人信息泄露,以及算法合规、备案与可审计义务。自2023年《生成式人工智能服务管理暂行办法》实施后,企业需要把“数…

遵义市做网站设计公司苏州关键词优化排名推广

本文转载自&#xff1a;http://blog.sina.com.cn/s/blog_9a06890901014ol1.html PHP页面跳转一、header()函数 header函数中Location类型的标头是一种特殊的header调用&#xff0c;常用来实现页面跳转 注意&#xff1a;1、location和“:”号间不能有空格&#xff0c;否则不会跳…

网络安全工具与社区讨论月报

本文记录了r/netsec网络安全社区月度讨论帖,包含成员分享的常用安全工具如Burp Suite和Nuclei,以及社区规则和最新动态,为安全从业者提供实用参考。r/netsec 月度讨论与工具分享帖 社区介绍 /r/netsec 是一个由社区…

机器人运动未来与人机交互研究

本文探讨了机器人运动与人机长期交互的前沿研究,包括机器人意图信号系统、机器学习在机器人感知中的应用,以及大规模实验环境对机器人技术发展的重要性。机器人运动未来与人机交互研究 移动机器人正日益普及:它们在…

欧拉路径 欧拉图 小记

欧拉路径 & 欧拉图 小记 P7771 【模板】欧拉路径 欧拉路径:一个图中经过每条边恰好一次的路径,允许经过重复点。 欧拉回路:起点与终点相同的欧拉路径。 对于连通图,欧拉路径有如下判定:对于无向图,恰好有两个…

OI 笑传 #16

The Taste of Kindness指差す先はインナーワールド 1 ABC423F 终于会了不用二项式反演的做法。 我们把这种东西叫什么好呢?预处理容斥系数? 首先这题是不能一般容斥的,因为我们求解的不是并集,而是独立集。 哎哎独…

课后知识整理

课后知识整理Java方法动手动脑与实验问题全记录 静态导入实验 实验:随机数 Math.random() 局限性 (int)(Math.random()*6) 只能生成 0–5,而不能公平生成 1–6。 Random 带种子实验 实验:

cf296b

CF296B Yaroslav and Two Strings link 题意 给定两个由数字和 ? 组成的字符串 \(s,t\),将 ? 替换为数字。若 \(s,t\) 中有 \(s_i>w_i,s_j<w_j(1\leq i,j\leq n)\),则是一种合法的替换。求合法的方案数对 \(…

昆山做网站费用个人工作室怎么注册

这个教程会教您如何设计发光斑驳的字体特效&#xff0c;会教您运用PS滤镜和纹理图片&#xff0c;同时也诠释了如何运用笔刷和图层样式给最终的字体效果增添光感。来&#xff0c;先看看最终效果&#xff01;第一步&#xff1a;创建一个1024*768的新文档。前景色#532118&#xff…

云原生与DevOps融合实践:加速企业数字化转型的加速器 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

第一次使用Ttpora

MarkDown使用教学 两个井号创建二级标题 一个井号创建一级标题就是最上边的那个 字体 两边都加星号,字体就变成黑色了 两边都加星号,字体就变成黑色了 两边都加两个星号,字体就变成黑色了 两边加一个型号,变成斜体…

Apache反向代理

“apache2 网站静态文件” = /var/www/html/ Apache 本身就可以作为一个反向代理服务器来使用,通常是通过 mod_proxy 及其附加模块来实现。 下面是启用 Apache 反向代理的基本步骤: 1. 启用必要的模块 你需要启用以下…

原版 Sunshine+虚拟显示器实现熄屏串流

Sunshine 基地版 是一个很好的软件,自带了虚拟显示器,能够非常方便地实现熄屏串流,但有一个 bug,它会在串流结束后自动开启虚拟显示器的 HDR 功能:https://github.com/qiin2333/Sunshine-Foundation/issues/13 很…

一流的嘉兴网站建设最牛的视频网站建设

目录 第一章&#xff1a;Java Web基础知识1.介绍3.Java Web基本概念 4.常见面试问题第二章&#xff1a;Java Web核心概念和技术1.介绍3.Servlet和JSP4.Web安全5.常见面试问题 第三章&#xff1a;Java Web高级概念和技术1.介绍3.Spring框架4.安全性5.常见面试问题 第四章&#x…

2025国庆Day4

模拟赛 T1 简单做法: 发现本题所有运算全是加法 直接记录c,s之和 转移即可 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<…

苏宁易购网站建设目标成视频网址多少?

场景&#xff1a; 平台&#xff1a;win7 x64。显卡很差的电脑&#xff0c;使用ffmpeg录屏&#xff0c;鼠标闪烁的几乎看不到。录屏实现方法是使用ffmpeg&#xff0c;源采用的是gdigrab。 解决方法&#xff1a; 安装screen capture recorder安装ffmpeg&#xff0c;执行命令ff…

郑州网站开发公司电话网站在线优化

简介&#xff1a; 融合流量网关与微服务网关的下一代网关—云原生网关来啦&#xff01;优势满满&#xff01; 流量网关和微服务网关必须分开构建吗&#xff1f; 在容器技术和 K8s 主导的云原生时代&#xff0c;这个命题正浮现出新的答案。 更经济&#xff1a;将流量网关与微…

gis坐标计算

package cn.service.hspd.utils;import com.alibaba.fastjson2.JSON;import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import ja…