首页 > 其他分享 >二次离线莫队

二次离线莫队

时间:2024-07-20 11:42:57浏览次数:9  
标签:limits 二次 sum 离线 莫队 复杂度

更新答案不是 \(O(1)\)?答案可差分?

二离来啦。

P4887 【模板】莫队二次离线

先考虑贡献:\(f(x,[l,r])\) 表示 \(x\) 对区间 \([l,r]\)。

考虑莫队每次的移动:\(r\to r'\)。答案增加为:

\[\sum_{i\in [r+1,r']} f(i,[l,i-1])=\sum_{i\in [r+1,r']} f(i,[1,i-1])-f(i,[1,l-1]) \]

发现前面那一坨可以直接预处理,莫队的时候 \(O(1)\) 更新即可。考虑后面。

设 \(g([r+1,r'],[1,l-1])\) 表示 \(\sum\limits_{i\in [r+1,r']} f(i,[1,l-1])=\sum\limits_{i<l} f(i,[r+1,r'])\)。

又,由莫队的复杂度证明知,所有 \([r+1,r']\) 的长度总和在线性根号级别。所以我们可以对 \(i\) 递增扫描线,每次更新前缀值,然后在 \([r+1,r']\) 暴力查询即可。

对于单点,查询怎么做?套路地开一个桶记录即可。单次复杂度为 \(O(\binom{14}{k})\),最大为 3000 多一点。

注意上面只列举了 \(r\to r'\) 的情况,其它情况是平凡的。

标签:limits,二次,sum,离线,莫队,复杂度
From: https://www.cnblogs.com/LCat90/p/18312904

相关文章

  • YOLOv10有效涨点专栏目录 | 包含卷积、主干、检测头、注意力机制、Neck、二次创新、独
     ......
  • 莫队
    普通莫队DQUERY-D-query先想一下最朴素的暴力怎么写。显然可以用一个\(cnt\)数组记录每种元素的出现次数,然后如果这种元素是第一次出现,则增加答案,时间复杂度\(O(nq)\)。然后考虑如果如何用一个已经求出来答案的询问推出另外一个询问的答案。显然我们要增加一部分数和删掉......
  • pycharm如何在离线状态下设置成中文
    手动安装汉化包官方汉化包地址:https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack----/versions 1、点击链接进入官方汉化包下载页      2、点击versions,找到和自己pycharm相同年份/版本的汉化包,后点击Download,浏览器会自动下载。 3......
  • Linux环境离线安装docker&docker-compose(包含一键安装脚本和一键安装包)
    一、docker离线安装1、下载docker离线安装包下载最新版本的docker(或者选择自己想要安装的版本)到本地。1)docker下载地址:Docker版本获取备注:此地址自2024年7月无法访问下载docker版本,小编已经将可以使用的docker、docker-compose版本整理在百度网盘中如有需要可以自行获取......
  • 【离线】- 莫队
    前言莫队是由莫涛提出的一种离线算法,是分块与双指针的结合,一般可以在\(O(n\sqrtn)\)或者\(O(n\sqrtm)\)的复杂度解决一些种类问题。普通莫队SP3267DQUERY-D-query给你一个长度为\(n\)的数列\(A\),\(m\)次询问,每次询问区间\([l,r]\)内的不同数字的个数。如果......
  • 百度人脸识别Windows C++离线sdk C#接入
    百度人脸识别WindowsC++离线sdkC#接入目录说明设计背景•场景特点:•客户特点:•核心需求:SDK包结构效果代码说明自己根据SDK封装了动态库,然后C#调用。功能接口设计背景•场景特点:--网络:对于无网、局域网等情况,无法连接公网,API方式无法运作。如政府单......
  • 二次剩余
    二次剩余:若\((m,n)=1,m>1\),满足\(\existsx\inZ,x^2\equivn\:(mod~m)\),则称\(n\)为一个关于\(m\)的二次剩余。反之,若不存在\(x\),则称\(n\)为一个关于\(m\)的二次非剩余定义勒让德符号(通常约定\(p\)是素数):\((\fracap)=\begin{cases}1&\text{if}a是p的二次......
  • 二次封装antd的ProTable、EditableProTable,结合use-antd-resizable-header,做一个列可
    原先是一个项目模块内需求,迭代的时候领导要求项目全面翻新,所有表格都要可伸缩列如果一个一个页面写伸缩列的话,每个页面都要引用一次use-antd-resizable-header,有点累赘找了网上,暂时没看见这个有人整理这个组件。直接上代码importProTablefrom"@ant-design/pro-table";i......
  • 农村高中生源转型期提升学生二次函数建模能力的课堂探究
       数学建模能力的提升建立在学生具备数学建模思维与思想的基础上,亲自对数学建模过程形成深刻认知,并且通过具体的问题分析来获取必要的数学建模经验与技巧等。因此,在开展数学教学期间,教师要注意有计划、有目的地结合一些实际社会问题,引导高中生仔细地观察和分析问题,使他们在......
  • 带修莫队模板
    取分块大小\(n^\frac{2}{3}\)最优。例题:数颜色#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;constintN=1e6+5;intcnt[N],a[N];structquery{intl,r,t,id;//加入时间戳};structmodfiy{intpos,val;};intmain(......