补题链接:Here

题意:选取任意不重叠的两个区间,使异或结果为 \(0\)

样例:\(1,2,3,4,5,5\)

在样例中我们可以选取 \(1,2,3\) 和 \(5,5\) 就是满足题意

思路:相同元素的异或为 \(0\) ,所以我们找到两个点 \(i - j\) ,与 \(i -j\) 相同答案的个数(这句话是废话....)

先求出异或前缀和,然后枚举每个位置,统计该位置之前的所有前缀和、即吧该位置作为右端点枚举计算右端点之前的所有位,为左端点计数。

同时当把该位当作右端点计算完之后,并用map存储,把该店当作左端点,逐个枚举右端点,用map查询相同的值,进行计数.

\(1,2,3,4,5,6,7,8,8\)

比如,当 \(i\) 运算到第一个 \(8\) 的时候,前面有 \(1,2,3\) 的异或值为 \(0\) ,且已经记录,然后当第一个 \(8\) 为右端点运算结束之后,变为左端点是,第一个 \(8\) 和第二个 \(8\) 异或结果为 \(0\) ,并且此时还有前面 \(1,2,3\) 异或为 \(0\) , \(累计数 +1\)

using ll    = long long;
const int N = 1e6 + 10;
ll n, x, ans, a[N], b[N];
void solve() {
cin >> n;
for (ll i = 1; i <= n; ++i) {
cin >> x;
a[i] = a[i - 1] ^ x;
}
for (ll i = 1; i <= n; ++i) {
for (ll j = 0; j < i; ++j) b[a[i] ^ a[j]]++;
for (ll j = i + 1; j <= n; ++j)
ans += b[a[i] ^ a[j]];
}
cout << ans << "\n";
}

【每日一题】15.Xorto (前缀和枚举)的更多相关文章

  1. CISP/CISA 每日一题 15

    CISA 每日一题(答) 作业记帐: 监控和记录信息系统资源的使用,这些信息可被信息系统审计师用来执行: 1.将资源使用和相关用户挂钩以便实行计费: 2.通过改变系统软件的默认设置来最优化硬件性能 作 ...

  2. 【python】Leetcode每日一题-前缀树(Trie)

    [python]Leetcode每日一题-前缀树(Trie) [题目描述] Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的 ...

  3. [每日一题]面试官问:谈谈你对ES6的proxy的理解?

    [每日一题]面试官问:谈谈你对ES6的proxy的理解? 关注「松宝写代码」,精选好文,每日一题 作者:saucxs | songEagle 一.前言 2020.12.23 日刚立的 flag,每日一 ...

  4. 【JavaScript】Leetcode每日一题-矩形区域不超过K的最大值和

    [JavaScript]Leetcode每日一题-矩形区域不超过K的最大值和 [题目描述] 给你一个 m x n 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大 ...

  5. 老男孩IT教育-每日一题汇总

    老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...

  6. CISP/CISA 每日一题 五

    CISA 每日一题(答) 信息系统审计师要确认系统变更程序中的: 1.变更需求应有授权.优先排序及跟踪机制: 2.日常工作手册中,明确指出紧急变更程序: 3.变更控制程序应同时为用户及项目开发组认可: ...

  7. 【JavaScript】Leetcode每日一题-在D天内送包裹的能力

    [JavaScript]Leetcode每日一题-在D天内送包裹的能力 [题目描述] 传送带上的包裹必须在 D 天内从一个港口运送到另一个港口. 传送带上的第 i 个包裹的重量为 weights[i] ...

  8. 【JavaScript】Leetcode每日一题-平方数之和

    [JavaScript]Leetcode每日一题-平方数之和 [题目描述] 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c . 示例1: 输入:c = 5 ...

  9. 【JavaScript】Leetcode每日一题-二叉搜索树的范围和

    [JavaScript]Leetcode每日一题-二叉搜索树的范围和 [题目描述] 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例1: 输入: ...

  10. 【python】Leetcode每日一题-寻找旋转排序数组中的最小元素

    [python]Leetcode每日一题-寻找旋转排序数组中的最小元素 [题目描述] 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组.例如,原数组nums ...

随机推荐

  1. CF1881C Perfect Square 题解

    思路 简单滴很,对于每一组 \((i,j)\) 找出其对应的三个点,减一减就完了. 对应的点是哪三个呢?显然是 \((n-i+1,n-j+1)\),\((j,n-i+1)\) 以及 \((i,n-j+ ...

  2. C#winform中使用SQLite数据库

    公众号「DotNet学习交流」,分享学习DotNet的点滴. SQLite简介 SQLite是一种轻量级的关系型数据库管理系统(RDBMS),它以一个C库的形式提供.以下是SQLite数据库的一些关键 ...

  3. Excel中最牛的Index和match函数介绍

    当谈到Excel中最强大的函数时,INDEX和MATCH往往会被提及.它们经常一起使用,可以用来查找和返回数据表中的特定数值或信息.下面是对这两个函数的详细介绍: INDEX 函数: INDEX函数的 ...

  4. easycom自动导入自定义组件

    使用时要先创建一个这样的结构 相当于定义一个方法,所有的页面引用就可以了

  5. k8s安装Dashboard出现了 pod 状态为CrashLoopBackOff

    1.问题现象 2.解决办法 (1) 先看一下pods日志信息 kubectl logs -f -n kubernetes-dashboard kubernetes-dashboard-658485d5 ...

  6. Odoo16—权限控制

    odoo的权限控制是通过用户组来实现的,在用户组中配置控制权限,然后再添加用户到用户组中,从而实现对用户的访问和操作权限控制.一个用户可以属于多个用户组,用户最终的权限范围取决于所属用户组权限的并集. ...

  7. Volcano 原理、源码分析(一)

    0. 总结前置 1. 概述 2. Volcano 核心概念 2.1 认识 Queue.PodGroup 和 VolcanoJob 2.2. Queue.PodGroup 和 VolcanoJob 的关 ...

  8. postman——token传参

    问题描述: 有一个登陆接口获取token,其他接口再次访问都要带上token 解决方案: 1.在登陆接口访问后设置Postman的环境变量(Environment),例如设置环境变量名:token,值 ...

  9. 从零玩转第三方登录之WeChat公众号扫码关注登陆 -wechatgzh

    title: 从零玩转第三方登录之WeChat公众号扫码关注登陆 date: 2022-09-27 22:46:53.362 updated: 2023-03-30 13:28:41.359 url: ...

  10. 神经网络优化篇:详解梯度的数值逼近(Numerical approximation of gradients)

    在实施backprop时,有一个测试叫做梯度检验,它的作用是确保backprop正确实施.因为有时候,虽然写下了这些方程式,却不能100%确定,执行backprop的所有细节都是正确的.为了逐渐实现梯 ...