10.8 CSP-JS 模拟赛 T5. xor

news/2025/10/8 21:28:40/文章来源:https://www.cnblogs.com/YzaCsp/p/19130141

思路

考虑转化成组合数学
一个数最终会被异或多少次, 等价于在给出的网格图中, 有多少种路径走到这个位置
显然是一个 \(\displaystyle {a \choose b}\) 的组合数形式

又有

\[{a \choose b} \bmod 2 = [a \,\&\, b = b] \]

不难发现若确定 \(a\), 我们直接枚举 \(a\) 子集就可以 \(\mathcal{O} (2^{\text{popcount}(a)})\) 做一次

考虑优化
若用第 \(t\) 行来计算, 对于 \((t, i)\)\((x, y)\) 的贡献是 \(\displaystyle {x - t \choose i - y}\)
若我们让 \(t = x \bmod 512\), 则只用 \(\mathcal{O} (nB)\) 预处理, 后面的 \(\mathcal{O} (2^{\text{popcount}(x - t)})\) 为原来的根号级别
总复杂度是一个根号分治级别的 \(\mathcal{O} (n \sqrt{n} + q \sqrt{n})\)

#include <bits/stdc++.h>
#define int long longconst int MAXN = 3e5 + 10;int a[MAXN];
int n, q;
int b[520][MAXN];signed main() {scanf("%lld", &n);for (int i = 0; i < n; i++) {scanf("%lld", &a[i]);b[0][i] = a[i];}for (int i = 1; i < 512; i++) for (int j = 0; i + j < n; j++) b[i][j] = b[i - 1][j] ^ b[i - 1][j + 1];scanf("%lld", &q);while (q--) {int x, y;scanf("%lld%lld", &x, &y);if (x < 512) {printf("%lld\n", b[x][y]);} else {int t = x % 512;int ans = b[t][y];for (int yy = x - t; yy; yy = (yy - 1) & (x - t)) {if (t + y + yy < n)ans ^= b[t][y + yy];}printf("%lld\n", ans);}}return 0;
}

总结

观察力过于敏锐了
找到令 \(t = x \bmod 2^p\) 的性质之后, 我们可以用少的 \(p\) 来降低大量的 \(\mathcal{O} (2^{\text{popcount}(x - t)})\), 而且前面的 \(\mathcal{O} (n2^p)\) 预处理也可以接受

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

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

相关文章

做网站实例中国农村建设网站首页

文章目录 概述方法 1: 使用 Spark SQL 语句方法 2: 使用 DataFrame API方法 3: 使用 Hadoop 文件系统 API方法 4: 使用 Delta Lake使用注意事项常见相关问题及处理结论 概述 Apache Spark 是一个强大的分布式数据处理引擎&#xff0c;支持多种数据处理模式。在处理大型数据集时…

防抖 解释

防抖: 核心就是当一个现象停止一段时间后, 才执行动作. 而不是每次都执行.主意timer的配置

山西做网站浦东教育网站官网

一、 DR模式的特点 直接路由&#xff1a; 在LVS_DR模式下&#xff0c;负载均衡器不修改数据包的IP地址&#xff0c;只修改目的MAC地址。这使得数据包可以直接路由到后端实际服务器上&#xff0c;而不需要返回到负载均衡器。 高性能&#xff1a; 由于数据包在传输过程中不需要回…

从零到一搭建:vue3+vite7+antfu+stylelint+githooks,全流程配置,附带源码,集成css变量使用,下载即用

@目录0 基础环境0.1 node版本0.2 包管理器0.3 vscode插件1 创建项目——vue官网方式1.1 创建命令1.2 初始化git2 语法检查:antfu组合eslint和prettier2.1 安装命令2.2 安装依赖2.3 在package.json中添加脚本2.4 修改e…

云梦网如何做网站广东万高建设网站

在程序操作过程中偶尔会出现如标题所示的错误&#xff0c;开始一直不知道怎么回事&#xff0c;后来仔细调试了下&#xff0c;发现是在浏览器可以点击“前进/后退”按钮时&#xff0c;同时按住shift鼠标滚轮滚动会出现这个Bug。 上网查找了下&#xff0c;有些浏览器Shift鼠标滚轮…

网站添加百度搜索哈尔滨优化seo外包公司

文章目录 概要一、Es二、kibana三、dcoker compose管理四、参考 概要 在工作过程中&#xff0c;经常需要测试环境搭建Es环境&#xff0c;本文基于Es V8.12.2来演示如何快速搭建单节点Es和kibana。 服务器默认已按装docker 一、Es 1&#xff1a;拉取镜像 docker pull elast…

晶台光耦在手机PD快充上的应用 - 实践

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

bat批处理脚本文件-获取当前时间的几种方法

前言全局说明获取当前时间的几种方法一、说明 1.1 环境: Windows 7 旗舰版二、方法一 2.1 源码 @echo off@REM 获取当前时间 https://www.cnblogs.com/wutou/p/19130116 SET year=%date:~0,4% SET month=%date:~5,2% S…

二分图最大权完美匹配 KM算法

#include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std; #define LL long long #define N 510 #define INF 1e12 int n,m; int match[N];//右点匹配了…

做一张简单的app网站多钱黔东南建设厅官方网站

对于初学者来说&#xff0c;java中的"\t"和空格总是让人迷惑&#xff0c;其实很简单&#xff0c;通过一个例子就能很快明白&#xff01;比如说打印九九乘法表&#xff01;先来看用空格的效果&#xff01;1 package cn.edu.nwpu.java;23 public class MultiplicationT…

2025.10.8模拟赛

赛时 看了T1,然后差不多想到做法了,但是没想明白是怎么判a_i相等的 后来写二分+哈希,切了,但是由于没有考虑到可以进行合并,60pts 遂开T2,画了一张特别大的图,然后唐完了 发现了在连续的一段下降是最优的,又发…

Python 中的排序排序函数及区别

Python 中的排序排序函数及区别 在 Python 中,常用的排序功能主要通过两种方式实现:sorted() 内置函数和列表的 sort() 方法。它们都能完成排序任务,但在使用场景和特性上有显著区别。 一、两种核心排序工具 1. sor…

房地产网站建设哪家有效果网站优化公司排行

free命令 ​free是指查看当前系统内存的使用情况&#xff0c;它显示系统中剩余及已用的物理内存和交换内存&#xff0c;以及共享内存和被核心使用的缓冲区。 作者 作者&#xff1a;Brian Edmonds。 语法 free [参数] free 命令 -Linux手册页 命令选项及作用 执行令 &am…

wordpress 表说明长沙网站包年优化

awk&#xff08;是一种处理文本文件的应用程序&#xff0c;它依次处理文件的每一行&#xff0c;并读取里面的每一个字段。&#xff09; awk 包含几个特殊的内建变量&#xff08;可直接用&#xff09;如下所示&#xff1a; 1、获取根分区剩余大小 #可以使用df -h命令来查看所有…

岗贝路网站建设产品设计英文

2024年8月7日至9日&#xff0c;一场生物制造领域的盛会将在上海新国际博览中心闪亮登场。那就是2024上海国际合成生物学与绿色生物制造展览会。这场盛会将同期举办2024第13届上海国际生物发酵展&#xff0c;形成了一个强大的“生物军团”&#xff0c;展现出生物科技领域的无限魅…

搭建asp虚拟主机网站wordpress同分类文章

碰到的问题 上传Datafrane格式的数据到数据库 会碰见很多错误 举几个很普遍遇到的问题(主要以SqlServer举例) 这里解释下 将截断字符串或二进制数据 这个是字符长度超过数据库设置的长度 然后还有字符转int失败 或者字符串转换日期/或时间失败 这个是碰到的需要解决的最多的问…

长春餐饮网站建设wordpress页面构造器

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 在本文中&#xff0c;我们将学习如何在LangChain中创建简单的链式连接并添加组件以及运行它。链式连接允许我们将多个组件组合在一起&#xff0c;创建一个统一的应用程序。例如&#xff0c;我们可以创建一个链式连接&a…

RL | 速读 IJCAI 2025 的强化学习论文

速读一下 IJCAI 2025 的 RL 相关论文。目录359 Multi-granularity Knowledge Transfer for Continual Reinforcement Learning - 为持续 RL 而设计的多粒度知识迁移一、 研究背景与核心痛点(The Gap)二、 动机与故事…

Superhumanism

The civilizeds support Superhumanism. But they didnt support the Nazi Germany! Because they dont see the similar. Because they dont see the consequences. A normal human cannot become a superman, but if…

IDM弹窗解决 - -一叶知秋

IDM弹窗解决1、打开任务管理器,结束IDM任务(一定要结束全部的IDM任务)2、在控制面板中,打开 管理工具(有搜索)3、然后打开 本地安全策略4、找到 软件限制策略->其它规则,如果 软件限制策略 下面没有选项,就…