首页 > 其他分享 >闲话 22.9.24

闲话 22.9.24

时间:2022-09-24 20:58:06浏览次数:89  
标签:24 log 加入 闲话 复杂度 sqrt 端点 22.9 莫队

闲话

一天两场模拟赛 全在模拟抱泠
我的体活
听eafoo说明天早上似乎跑操 整个什么尸气大比拼
彳亍

都在放涩图 但是我没涩图
我有饭的图
于是放一张

小宇宙日和

《关于我为了卡掉爆搜苦思冥想两天造出三组数据把爆搜捏死的这件事》
以及这题的gen.cpp有230多行
望周知

今天在随机题
然后发现某出题团里有一个上琴
然后翻了翻 被上琴甜到不行
咳咳咳我是上茵我要坚持立场

回滚莫队

当时顺着做题单时没写,拿 \(O(n \sqrt n \log n)\) 的暴力莫队艹过去了。
模拟赛模出这道板子题,于是模拟抱泠

回滚莫队是这么一个东西:
我们现在要维护一种信息,加入很方便可以 \(O(1)\) 但是删除可能是 \(O(n)\) 级别的/根本做不了。一般这种信息都有 \(O(\log n)\) 的均摊做法,于是就有了 \(O(n \sqrt n \log n)\) 的普通莫队做法。现在考虑只加入不删除的做法。

首先说做法:
我们打包处理左端点落在相同块内的询问,这些询问按照右端点升序排序。
我们依次处理这些询问。对于右端点落在块内的询问暴力处理后清空。落在块外的部分拆成块外和块内两个部分,块内仍然暴力,块外顺序处理。容易发现这样的操作只进行了加入而不进行单次删除。
细节:先加入块外部分,再记录状态并加入块内部分。因为只会加入 \(O(\sqrt n)\) 个信息因此回退版本是方便的,而且回退后版本就是块右端点到当前询问右端点的信息。

若加入操作的复杂度为 \(O(f(n))\),容易发现此策略的复杂度是 \(O(n \sqrt n f(n))\).
对于落在块内的部分由于询问 \(O(n)\) 单次处理 \(O(\sqrt n f(n))\),因此这部分的复杂度是 \(O(n \sqrt n f(n))\).
对于块外的部分由于顺序处理因此一个块只会加入 \(O(n)\) 次,共有 \(O(\sqrt n)\) 个块,因此这部分的复杂度是 \(O(n \sqrt n f(n))\).
没了
就是长得很奇怪 没了 l--,r++,l++,r-- 而多了栈什么的

然后很多题就能拿这个东西优化一下了。

歴史の研究

可以说是回滚莫队板子了吧。

这题要维护一个最大值
如果直接干上去一个堆/线段树维护莫队直接T到飞起
然后考虑回滚
最大值删了不好找?不删
然后直接做就行

Rmq Problem / mex

考虑 mex 的性质。
从序列中加入一个值可能需要直接暴力扫
但是删除只需要比较当前答案和删除值的大小就好
因此反过来整一个不加入莫队
先处理块端到序列尾的答案然后倒着扫回来
复杂度仍然 \(O(n \sqrt n)\)

当然这题有jiry线段树的做法 上界 \(O(n \log ^2 n)\)
就是直接做一个扫描线 然后开线段树维护当前点为左端点 右端点为当前点右侧所有点的答案
每次删除直接做区间取min就行
查询就直接扫的时候查询 比较套路

标签:24,log,加入,闲话,复杂度,sqrt,端点,22.9,莫队
From: https://www.cnblogs.com/joke3579/p/chitchat220924.html

相关文章

  • 2022年9月24日羊毛福利线报
      ......
  • 代码随想录第四天| 24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、160.链
    今天链表致死量第一题publicstaticclassListNode{intval;ListNodenext;ListNode(){}ListNode(intval){this.val=val;......
  • 9.24-CSP-S模拟10
    T1欧几里得的噩梦一眼线性基题,可以证明在模拟线性基插入时,任何时候当前数的为1的位都不会超过二,于是模拟的做法就很显然了。但是这显然复杂度还是错的,赛时百分之八十的人......
  • 9月24日爆0记
    近些日子初赛考完了,距离csp-s和noip越来越近了,为了冲刺考试,教练拿出来自己珍藏的考试题,不得不说确实很多,就是离noip仍然有60天,教练依然做到了2天一考。今日nie老大诚挚的......
  • 15*4点 仪器仪表等超低功耗LCD液晶驱动IC(VKL系列)-VKL060 SSOP24 超低工作电流约7.5微
    概述:VKL060SSOP24是一个点阵式存储映射的LCD驱动器,可支持最大60点(15SEGx4COM)的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据,可配置4种功耗模式,也可通过关显示......
  • ABC 243 D - Moves on Binary Tree(树+字符串)
    https://atcoder.jp/contests/abc243/tasks/abc243_d题目大意:给定一颗完全二叉树,他总共可以有(2^10^100)-1个节点,节点下标为1,2,...,(2^10^100)-1。给我们一个长度为n......
  • python 9.24
    classRectangle():defgetperi(self,a,b):return(a+b)*2defgetArea(self,a,b):returna*brect=Rectangle()print(rect.getperi(3,......
  • 22.9.19-25
    关于54中指派飞机去组成通信链路的问题1.最小生成树通过查阅资料,得知(若简化问题为连线),则可以套用最小生成树问题的两种解法参考如下博客运行prim解法,效果如同https://b......
  • [总结]2022.9.24 挖土机杯 CSP-J 组模拟赛 R1
    [总结]2022.9.24挖土机杯CSP-J组模拟赛R1P1赛时情况看到T1,显然是道白给。但我想了一会。依旧先把题目读完。T2有点模拟的样子,但又有点简单;T3显然dp;T4连乱搞都不会......
  • 9.24考试总结
    Ranking:100+5+9+09.24的考试除了最后一道题RE的小插曲,算是我对结果比较满意的一次了。这场考试第一题送分,第二题是考察最小生成树的性质,没做出来(其实这个性质在K......