首页 > 其他分享 >C. Even Subarrays

C. Even Subarrays

时间:2024-07-31 13:05:58浏览次数:6  
标签:Even pre 平方 Subarrays ll 完全 异或

原题链接

题解

易得当区间异或和不为完全平方数的时候合法

朴素做法:

遍历所有区间,看看异或和是不是完全平方数

优化:

异或是可以交换运算顺序的,如果区间 \([l,r]\) 异或和为完全平方数,那么代表 \(pre[r] \oplus pre[l-1]==k\) 其中k为完全平方数

也就是说,\(pre[r] \oplus k== pre[l-1]\),这样的性质指引我们遍历r和所有的完全平方数,然后存储所有的 \(pre[l]\)

时间复杂度为 \(O(n\sqrt{n})\)

code

#include<bits/stdc++.h>
#define ll long long
#define lowbit(x) ((x)&(-x))
using namespace std;
const ll inf=1e18;
const ll mod=1e9+7;

vector<ll> sqare;
void solve()
{
    ll n;
    cin>>n;




    map<ll,ll> q;
    q[0]=1;
    ll pre=0;
    ll ans=0;
    for(ll i=1;i<=n;i++)
    {
        ll x;
        cin>>x;
        pre^=x;
        for(auto it:sqare)
        {
            ans+=q[(pre^it)];
        }
        q[pre]++;
    }
    cout<<(n+1)*n/2-ans<<'\n';
}
int main()
{
    for(ll i=0;i*i<=400000;i++)
    {
        sqare.push_back(i*i);
    }
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int TT=1;
    cin>>TT;
    while(TT--) solve();
    return 0;
}

标签:Even,pre,平方,Subarrays,ll,完全,异或
From: https://www.cnblogs.com/pure4knowledge/p/18334413

相关文章

  • [Typescript] handle event.target type in Form
    TheerrorweencounteredinthischallengewasthattheEventTarget|nulltypewasincompatiblewiththerequiredparameteroftypeHTMLFormElement.Theproblemstemsfromthefactthatthesetypesdon'tmatch,andnullisnotpermitted:constdata......
  • Python. 协程asyncio、gevent
    1、协程是一种轻量级的并发机制,允许你在单个线程内模拟并发执行多个任务。协程非常适合用于I/O密集型任务,如网络请求、文件读写等,在等待I/O操作完成时,协程可以继续执行其他任务而不是阻塞。生成器:协程的基础是生成器(generator)。生成器是一种特殊的迭代器,它可以使用 yi......
  • 【libevent】libevent简介
    1、Libevent1.1简介Libevent是一个用C语言编写的、轻量级的开源高性能事件驱动网络库。基本的socket编程是阻塞/同步的,每个操作除非已经完成或者出错才会返回,这样对于每一个请求,要使用一个线程或者单独的进程去处理,系统资源没法支撑大量的请求,于是各系统分别提出了基于异步/c......
  • DB2-Db2StreamingChangeEventSource
    提示:Db2StreamingChangeEventSource类主要用于从IBMDb2数据库中读取变更数据捕获(CDC,ChangeDataCapture)信息。CDC是一种技术,允许系统跟踪数据库表中数据的更改,这些更改可以是插入、更新或删除操作。在大数据和实时数据处理场景中,CDC可以用来同步数据到其他系统,比......
  • P3131 [USACO16JAN] Subsequences Summing to Sevens S
    传送锚点:[USACO16JAN]SubsequencesSummingtoSevensS-洛谷题目描述FarmerJohn's\(N\)cowsarestandinginarow,astheyhaveatendencytodofromtimetotime.EachcowislabeledwithadistinctintegerIDnumbersoFJcantellthemapart.FJwould......
  • netty入门-3 EventLoop和EventLoopGroup,简单的服务器实现
    文章目录EventLoop和EventLoopGroup服务器与客户端基本使用增加非NIO工人NioEventLoop处理普通任务与定时任务结语EventLoop和EventLoopGroup二者大概是什么这里不再赘述,前一篇已简述过。不理解也没关系。下面会简单使用,看了就能明白是什么这篇文章只说NioEvent......
  • 一文彻底搞懂浏览器事件机制、事件委托、事件冒泡、事件循环、Event Loop、react事件
    一、事件是什么?事件模型?事件是用户操作网页时发生的交互动作,比如click/move,事件除了用户触发的动作外,还可以是文档加载,窗口滚动和大小调整。事件被封装成一个event对象,包含了该事件发生时的所有相关信息(event的属性)以及可以对事件进行的操作(event的方法)。事件是用......
  • 使用 useRequestEvent Hook 访问请求事件
    title:使用useRequestEventHook访问请求事件date:2024/7/23updated:2024/7/23author:cmdragonexcerpt:摘要:本文介绍Nuxt3中useRequestEventHook的使用,可访问请求路径、方法和头部信息,适用于SSR环境下处理请求逻辑,如中间件、插件及API路由。仅服务器端生效,需注意安......
  • DASCTF 2024暑期挑战赛-WEB-Sanic's revenge gxngxngxn
    DASCTF-WEB-Sanic'srevengegxngxngxn写在开篇碎碎念在我上篇文章(https://www.cnblogs.com/gxngxngxn/p/18205235)的结尾,我分享了两点我在寻找污染链的过程中发现的一些新玩意。其中作为本题考点之一的file_or_directory就在其中,没看过的师傅可以看一眼(orz。而本题主要考点的......
  • Flowable流程引擎核心事件详细解释说明并附上示例代码FlowableEventType
    Flowable核心事件详细解释说明并附上示例代码Flowable的核心事件类型下表列出引擎中的所有事件类型。每种类型对应org.flowable.engine.common.api.delegate.event.FlowableEventType中的一个枚举值。事件名称说明事件类ENGINE_CREATED本监听器所属的流程引擎已经创建,并......