首页 > 其他分享 >莫队的时间复杂度?

莫队的时间复杂度?

时间:2023-11-06 22:45:28浏览次数:35  
标签:frac mB 复杂度 次数 时间 莫队

普通莫队的时间复杂度分析:设块长为 \(B\),\(l\) 的移动次数是 \(O(mB)\) 的,\(r\) 的移动次数是 \(O(\frac{n}{B}n)\) 的,所以总时间复杂度为 \(O(mB+\frac{n}{B}n)\),考虑时间复杂度的平衡,取 \(B=\frac{n}{\sqrt{m}}\),则总时间复杂度为 \(O(n\sqrt{m})\)。

带修改的莫队的时间复杂度分析:设块长为 \(B\),\(l\) 的移动次数是 \(O(mB)\) 的,\(r\) 的移动次数是 \(O(\frac{n}{B}n+mB)\) 的,时间戳的移动次数是 \(O(\frac{n^2}{B^2}c)\)(\(c\) 为修改次数),\(B\) 取 \(O(n^{2/3})\) 最优,总时间复杂度为 \(O(n^{5/3})\)(设 \(n,m,c\) 同级)。

回滚莫队和普通莫队的时间复杂度分析类似,均为 \(O(n\sqrt{m})\),这里不再阐述。

树上莫队?拍扁放在数列上处理不香吗?

二次离线?不会。。。

bitset 配合莫队?这有一道板子 P3674 小清新人渣的本愿

二维莫队?这个东西大概率不是正解。

标签:frac,mB,复杂度,次数,时间,莫队
From: https://www.cnblogs.com/dadidididi/p/17813955.html

相关文章

  • bat里循环1万次测试时间
    bat里循环1万次测试时间  @echooff@echostart:%time%set/ai=0:LoopStartset/ai+=1if%i%leq10000gotoLoopStart@echoend:%time% 自己的电脑,循环1万次要7,8秒    公司服务器的电脑,循环一万次要5秒  买的华为云服务器1核心2G内......
  • O(nlogn)复杂度三维偏序
    给定三个长为\(n\)的序列\(a,b,c\),求有多少个二元组\((i,j)\)满足\(a_i<a_j,b_i<b_j,c_i<c_j\)。\(n\leq10^6\)。考虑对\((a,b),(a,c),(b,c)\)分别做一次二维偏序,设它们的偏序数之和为\(S\)。当\((i,j)\)形成三维偏序的时候,\((i,j)\)在三......
  • cf797eE. Array Queries(暴力+复杂度分析)
    cf797e还是暴力,将不同的询问根据k分开,然后bfs,建出一棵树,然后dfs。时间复杂度:O(能过)稍微口胡分析一下大概是\(min(1,q[1])*n/1+min(2.q[2])*n/2+min(3,q[3])*n/3+.....\)qi表示第k=i的询问个数因为每一种k它最多将所有的a分成k类,如果全部满了,就是n,那么显然是尽量分配给前面......
  • 白屏时间first paint和可交互时间dom ready的关系是先触发first paint ,后触发dom read
    页面的性能指标详解:白屏时间(firstPaintTime)——用户从打开页面开始到页面开始有东西呈现为止首屏时间——用户浏览器首屏内所有内容都呈现出来所花费的时间用户可操作时间(domInteractive)——用户可以进行正常的点击、输入等操作,默认可以统计domready时间,因为通常会在这时......
  • javascript中的时间格式化的方法
     javascript中的时间格式化的方法 Date.prototype.format=function(format){varo={"M+":this.getMonth()+1,//month"d+":this.getDate(),//day"h+":this.getHours(),//hour&quo......
  • 根据分钟获取时间(往前获取)、两个日期进行大小比较
    /***根据分钟获取时间(往前获取)**@paramminute分钟(负数)*@return*/publicstaticStringgetBeforeTime(Integerminute){CalendarbeforeTime=Calendar.getInstance();beforeTime.add(Calendar.MINUTE,-minute......
  • 通过@JsonFormat和@DateTimeFormat,解决前后端时间格式问题
    在domain层的时间属性上面加@JsonFormat和@DateTimeFormat注解后端传前端:GMT+8:表示东八区@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss",timezone="GMT+8")前端传后端:@DateTimeFormat(pattern="yyyy-MM-ddHH:mm......
  • 通过@JsonFormat和@DateTimeFormat,解决前后端时间格式问题
    在domain层的时间属性上面加@JsonFormat和@DateTimeFormat注解后端传前端:GMT+8:表示东八区@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss",timezone="GMT+8")前端传后端:@DateTimeFormat(pattern="yyyy-MM-ddHH:mm......
  • 训练的过程是怎样的,大概时间有多长?
    当用户点击”训练“按钮后,系统会将数据(图片,以及标注数据)封装为训练任务提交至服务器集群,服务器集群会安排训练任务。如果同时处理的任务较多时,新的训练任务会进入排队状态。训练开始后,深度学习网络参数将不断更新。这个过程大概十几到二十分钟左右,但是也取决于训练图片的数量,以及训......
  • 基于PLC的校园作息时间控制系统——文档
    本设计采用的是PLC控制方式。配置如下:本次PLC控制器采用了三菱的Fx2N一48MRPLC。它拥有24个输入点和24个输出点,可轻易控制继电器等输出设备,实现作息时间的控制。为了让PLC控制器更加精准地控制时间点,设计了5个数码管,其中2个用于显示小时,2个用于显示分钟,一个用于显示星期几。通过......