当前位置: 首页 > 编程日记 > 正文

Codeforces Round #539 (Div. 2) C. Sasha and a Bit of Relax

链接:https://codeforces.com/problemset/problem/1113/C

题意:长度为n的序列 ,若l,r满足,则称这对l,r为funny,其中mid=(r-l+)/2

求出共有几对funny

思路:上式等价为al^al+^......ar-1^ar=0,可利用前缀和的思想进行求解,用a数组保存a0连续异或到ai的值,上式即等价于al=ar

由于题目只要考虑r-l+1为偶数的情况,易得r,l同奇偶,用二维数组b记录

代码:

 1 #include<bits/stdc++.h>
 2 #define inf 0x3f3f3f3f
 3 typedef long long ll;
 4 const int M = int(1e5)*3 + 5;
 5 using namespace std;
 6 ll a[M],b[2][(1<<20)+3];
 7 int main()
 8 {
 9     int n; cin >> n;
10     ll ans = 0;
11     b[0][0] = 1;
12     for (int i = 1; i <= n; i++)
13     {
14         int x;
15         cin >> x;
16         a[i] = a[i - 1] ^ x;
17         ans += b[i % 2][a[i]];
18         b[i % 2][a[i]]++;
19     }
20     cout << ans << endl;
21     return 0;
22 }

备注:异或运算的性质

转载于:https://www.cnblogs.com/harutomimori/p/10410055.html

相关文章:

计数排序 算法

算法思路 统计待排序数列中每个数字出现的次数入数据结构的过程其实就是排序的过程最后再按照统计结果覆盖原序列就行了 PS: 前提条件是知道排序元素的范围 算法实现 void count(vector<int> &arr, int range) {vector<int> count(range1,0);for (int i 0…

Unity3D中的函数方法及解释

一、刷新函数 Update 当MonoBehaviour启用时&#xff0c;其Update在每一帧被调用。 LateUpdate 当Behaviour启用时&#xff0c;其LateUpdate在每一帧被调用。 FixedUpdate 当MonoBehaviour启用时&#xff0c;其 固定时间调用一次 二、启动函数 Awake 当一个脚本实例被载入时Awa…

asio boost 异步错误处理_boost::ASIO的同步方式和异步方式

http://blog.csdn.net/zhuky/article/details/5364574http://blog.csdn.net/zhuky/article/details/5364685Boost.Asio是一个跨平台的网络及底层IO的C编程库&#xff0c;它使用现代C手法实现了统一的异步调用模型。头文件#include 名空间using namespace boost::asio;ASIO库能够…

对Linux文件中的多行进行注释

1.讲文件中的所有行进行注释:1,$s/^/# 当然某些文件的注释不是“#”&#xff0c;你把“#”换成注释符就行了c2.对某些段进行注释&#xff1a;set nu 查看所有注释的段&#xff0c;比如发现要注释的第250到380&#xff1a;250…

利用反射对应数据库字段

#region DataSet数据读取protected delegate P GetDataSetItemHandler<P>(DataRow row);internal static T GetItem(DataRow dr){T item new T();DataTableAttribute tableAttribute DataEntity.GetTableAttribute<T>();if (tableAttribute ! null){for (int i …

多线程:pthread_cond_wait 实现原理

函数原型 int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) 第一个参数为需要等待的条件&#xff0c;第二个参数为互斥锁 一般该函数和 int pthread_cond_signal(pthread_cond_t *cond);函数一同使用&#xff0c;用来唤醒在cond条件上等待且处于就绪队列…

标头“Vary:Accept-Encoding”指定方法及其重要性分析

原文地址&#xff1a;http://www.webkaka.com/blog/archives/how-to-set-Vary-Accept-Encoding-header.html 在webkaka的网站速度诊断性能优化里有一项叫指定“Vary:Accept-Encoding”标头&#xff0c;可能很多人不太明白这是什么意思&#xff0c;不知道它对网站的影响有多大&a…

protobufjs 命令执行_【原码笔记】-- protobuf.js 与 Long.js

protobuf.js的结构和webpack的加载之后的结构很相似。这样的模块化组合是个不错的结构方式。1个是适应了不同的加载方式&#xff0c;2个模块直接很独立。webpack的功能更全一点。但如果自己封装js库这样够用了。而且模块对外统一接口 module.exports。这和node很像。(function(…

IBM X3550 RAID 扩容实例

背景&#xff1a;系统更新&#xff0c;原服务器容量不足&#xff0c;原服务器硬盘配置如下&#xff1a;2块146G 10K SAS 硬盘组成的RAID 1&#xff0c;咨询供应商&#xff0c;原来的硬盘已停产&#xff0c;现只有直接上两块新的盘增加一个RAID 1 实现扩容&#xff0c;增加两块3…

react取消监听scroll事件

如果要移除事件addEventListener的执行函数必须使用外部函数而不能直接使用匿名函数 错误写法&#xff1a; // 这样写是移除不了滚动事件的 componentDidMount() {// 添加滚动监听window.addEventListener(scroll, ()>{console.log("滚动距离&#xff1a;",window…

ceph存储 PG的状态机 源码分析

文章目录PG 的状态机和peering过程1. PG 状态机变化的时机2. pg的状态演化过程3. pg状态变化实例讲解3.1 pg状态的管理结构3.2 数据的pg状态变化过程3.2.1 NULL -> initial3.2.2 initial -> reset -> Started3.2.3 Started(start) ->Started( primary(Peering(GetI…

JDBC连接MySQL数据库及演示样例

JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术。 一、JDBC基础知识 JDBC&#xff08;Java Data Base Connectivity,java数据库连接&#xff09;是一种用于执行SQL语句的Java API&#xff0c;能够为多种关系数据库提供统一訪问&#xff0c;它由一组用Java语言…

Linux从mysql中读取数据_linux shell中读写操作mysql数据库

本文介绍了如何在shell中读写mysql数据库。主要介绍了如何在shell 中连接mysql数据库&#xff0c;如何在shell中创建数据库&#xff0c;创建表&#xff0c;插入csv文件&#xff0c;读取mysql数据库&#xff0c;导出mysql数据库为xml或html文件&#xff0c; 并分析了核心语句。本…

算法系列之二十:计算中国农历(二)

&#xff08;接上篇&#xff09; 所谓的“天文算法”&#xff0c;就是利用经典力学定律推导行星运转轨道&#xff0c;对任意时刻的行星位置进行精确计算&#xff0c;从而获得某种天文现象发生时的时间&#xff0c;比如日月合朔这一天文现象就是太阳和月亮的地心黄经&#xff08…

如何限制只有某些IP才能使用Tomcat Manager

只有指定的主机或IP地址才可以访问部署在Tomcat下的应用。Tomcat提供了两个参数供你配置&#xff1a;RemoteHostValve 和RemoteAddrValve&#xff0c;前者用于限制主机名&#xff0c;后者用于限制IP地址。 通过配置这两个参数&#xff0c;可以让你过滤来自请求的主机或IP地址&a…

leetcode-24 两两交换链表中的节点

题目描述 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 方法一&#xff08;递归&#x…

TimeQuest学习之三------外部寄存器模型

clock skew < destination reg clock delay > - < source reg clock delay > 为了使clock skew 的影响可以叠加到data delay上&#xff0c;给出如下三组公式&#xff08;对于fpga2ic&#xff09;&#xff1a; 1.clock skew <ext_clk delay> - < fpga_cl…

linux mysql远程链接_Linux下mysql实现远程连接

首先明白一点并不是mysql禁止远程连接&#xff0c;而是MYSQL的账号禁止远程连接。可能觉得我有点咬文嚼字了&#xff0c;不过我感觉分清这点还是很重要的。默认情况下&#xff0c;所有账号都是禁止远程连接的。在安装MYSQL的时候&#xff0c;在设置ROOT密码那里有一个CHECKBOX&…

H5 客户端设置title 滑动验证码

转载于:https://www.cnblogs.com/Airoocle/p/10420140.html

leetcode-2 两数相加

给出两个 非空 的链表用来表示两个非负的整数。其中&#xff0c;它们各自的位数是按照 逆序 的方式存储的&#xff0c;并且它们的每个节点只能存储 一位 数字。 如果&#xff0c;我们将这两个数相加起来&#xff0c;则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0…

spring-注解

spring框架提供xml文件的配置&#xff0c;也提供基于注解的方式实现配置任何的Bean实例&#xff0c;目前&#xff0c;struts2、hibernate和spring都相继支持基于注解的实现方式。spring要求程序员指定搜索哪些路径下的java类&#xff0c;spring会把合适的java类全部注册成sprin…

mysql raw_Oracle中的Raw类型解释

RAW&#xff0c;类似于CHAR&#xff0c;声明方式RAW(L)&#xff0c;L为长度&#xff0c;以字节为单位&#xff0c;作为数据库列最大2000&#xff0c;作为变量最大32767字节。 LONG RAW&#xff0c;类似于LORAW&#xff0c;类似于CHAR&#xff0c;声明方式RAW(L)&#xff0c;L为…

面试题6:用两个栈实现队列

思路&#xff1a;设置两个栈stack1和stack2&#xff0c;stack1实现入队列功能&#xff0c;stack2实现出队列功能。 &#xff08;1&#xff09;入队列&#xff1a;入栈stack1 &#xff08;2&#xff09;出队列&#xff1a;若stack2不空&#xff0c;则直接弹出stack2中的栈顶元素…

php从数据库读取中文显示问号??的解决办法

出错原因&#xff1a;1、数据库编码格式不对 2、PHP编码格式不对 3、浏览器编码格式不对 上面三者编码格式不统一&#xff0c;就会出现问题 数据库读取的时候在mysqli_connect()之后要设置连接字符编码mysqli_query($db, “set names ‘utf8”);这样才能保证在浏览器显示的结果…

leetcode-20 有效的括号匹配

给定一个只包括 ‘(’&#xff0c;’)’&#xff0c;’{’&#xff0c;’}’&#xff0c;’[’&#xff0c;’]’ 的字符串&#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 注意空字符串可…

将ADS1.2的工程迁移到KEIL上-基于2440

新版的MDK支持2440相关芯片,但是很多人的工程都是基于ADS1.2开发,文字不好看,兼容性不好等等问题,而且电脑上装太多开发工具切换起来也麻烦,所以切换到MDK开发2440裸机程序应该是一个很好的选择 1. 新建MDK工程,芯片选择2440 不拷贝启动代码,因为我们用自己的启动代码 2.…

mysql占用资源最小的语句_MySQL一个语句查出各种整形占用字节数及最大最小值的实例...

直接上码&#xff1a;select bigint unsigned as type ,8 as bytes ,~0 as max_num,0 as min_num unionselect int unsigned,4,~0>>32,0 unionselect mediumint unsigned,3,~0>>40,0 unionselect smallint unsigned,2,~0>>48,0 unionselect tinyint unsigned…

使用命名管道的OVERLAPPED方式实现非阻塞模式编程 .

命令管道是进程间通讯的一种常用方式&#xff0c;对于命令管道的介绍可以参考别的资料和书籍&#xff0c;这里推荐一个《VC下命名管道编程的原理及实现》这篇博文&#xff0c;写得比较清楚。但是都是介绍了阻塞模式的编程&#xff0c;我这里主要是介绍利用命令管道OVERLAPPED方…

读梦断代码有感(1)2019.2.05

今天阅读了建民老师推荐的我们软件工程方面的书籍被称为经典的《梦断代码》&#xff0c;虽然只是读了一小部分但还是感受颇深&#xff0c;在我以往的经验看来&#xff0c;我们软件工程专业的书籍应该都是枯燥乏味的代码啊啥的&#xff0c;所以开始我并没有对这本书有多大的期望…

leetcode-25 K个一组反转链表

给你一个链表&#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回翻转后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。 示例 : 给定这个链表&#xff1a;1->2-…