2020-6~7杂题选做

大数定律\(:\) \(\lim\limits_{n->\infty} \sum\limits_{i=1}^{n} a_i \times (\frac{1}{n}) = E(a_i)\)


P5296 [北京省选集训2019]生成树计数

把边权 \(w\) 变成 \(e^{wx}\) 然后求一下在 \(\pmod{x^{k+1}}\) 意义下的行列式即可 \(.\)

因为 \(k\) 比较小 \(,\) 所以求逆和多项式乘法只能写\(O(k^2)\) \(,\) 直接套多项式板子会变慢 \(.\)

复杂度 \(O(n^3k^2).\)


P3746 [六省联考2017]组合数问题

循环卷积快速幂\(.\)

感觉和2020年联考A卷 d1t2 很像? 因为我当场做那个题的时候也是用的组合意义.

\(O(k^2(\log n+\log k))\)


CF474F Ant colony

线段树维护区间\(gcd,min\)以及\(cntmin\)即可\(.\)

如果写了\(O(n)-O(1)\) \(\gcd\) 可以做到一个 log.


CF585F Digits of Number Pi

\(SAM/AC\)自动机之后数位\(dp.\)

我代码里写的是\(SAM,\)因为这样省空间\(.\)

\(O(nd^2*10)\)

每天一个爆零小技巧 : 计算 trans 不 return


P5308 [COCI2019] Quiz

\(wqs\)二分+斜率优化

\(O(n*T),T\)\(check\)次数\(.\)

每天一个爆零小技巧 : 斜率优化不弹队首


P5488 差分与前缀和

差分一次相当于和 \((1-x)\) 卷积

前缀和一次相当于和 \((1-x)^{-1}\) 卷积

注意到

\((1-x)^k\)\(i\) 次项系数是 \((-1)^{i}\binom{k}{i}\)

\((1-x)^{-k}\)\(i\) 次项系数是 \(\binom{k+i-1}{i}\) \((\) 这个可以通过广义二项式定理证明 \()\)

然后直接\(O(n)\)递推出所有系数\(,\)然后\(NTT\)就解决了\(.\)

每天一个爆零小技巧 : 在 \(k\)\(10^{2328}\)的时候读入优化不取模


CF685C Optimal Point

先二分答案然后换元解方程\(,\)细节比较多\(.\)


CF708E Student's Camp

考虑一个\(\large dp_{i,l,r}\)表示目前到第\(i\)\(,\)这一行的区间为\([l,r]\)的方案数\(.\)

再记一个\(\large sum_{i,L}\)表示 \(\large \sum\limits_{l',r'\leq L} dp_{i,l,r}\)

然后推一推式子就可以\(O(nm)\)求出所有的\(sum_{i,L},\)这个问题就解决了\(.\)


CF698D Limak and Shooting Points

暴力枚举打的顺序然后\(bfs\) \(check.\)

\(O(n \times k!\times k)\)


CF521E Cycling City

\(dfs\)树上如果有两个相交的环\(,\)那么必然有解\(:\)

\(1.\) \(e1_x->e1_y->x\)

\(2.\) \(e1_x->e2_x->e2_y->x\)

\(3.\) \(e1_x->x\)


P3747 [六省联考2017]相逢是问候

首先可以想到通过欧拉定理计算\(.\)

不难发现只有前\(log\)次修改是有用的\(,\)那么直接维护就可以了\(.\)

实现的好可以做到\(O(nlog^2max(p,n))\)


CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths

\(dsu\) \(on\) \(tree\) 练习题\(.\)

大概就是把字母\(x\)的权值看成\(2^{x-'a'},\)然后\(check\)一条链合法相当于链上异或和为\(0\)\(2^h,\) \(dsu\) 一下就好了 \(.\)

\(O(n\log n*22),\)需要\(O(2^{22})\)的空间


CF643G Choosing Ads

感觉这个套路已经做了一万次了吧..

线段树维护信息\(,\)每次删去 \(\lfloor \frac{100}{p} \rfloor +1\) 个不同的数 \(,\) 最后剩下的 \(k\) 种数中必然包含答案\(.\)

\(k = \lfloor \frac{100}{p} \rfloor +1,\) 复杂度为 \(O(nk^2logn)\)


P3224 [HNOI2012]永无乡

线段树合并\(/\)启发式合并板子题\(.\)


CF1364E X-OR

交互题\(.\)


CF536D Tavas in Kansas

先求完最短路\(,\)然后\(O(n^2) dp.\)


CF611G New Year and Cake

计算几何题\(.\)

考虑求出凸包然后在凸包上\(O(n)\)\((\) 类似\(2-pointers,\) 同时维护面积大小 \(),\) 然后用前缀和快速计算答案 \(.\)


CF527E Data Center Drama

欧拉回路题\(.\)

突然发现自己以前写的欧拉回路复杂度是假的\(!\)

\(O(nlogm)\)

每天一个爆零小技巧 \(:\) 在交题之前一不小心 shift + delete + enter 删掉自己的代码


CF587D Duff in Mafia

首先忽略边权\(,\)考虑求一组可行的方案\(.\)可以使用\(2-SAT\)实现\(,\)建图需要前后缀优化\(.\)

加上边权的限制就是加一个二分\(.\)

强制让一个东西不能选就是加一条 \((x,1)->(x,0)\) 的边\(.\)

\(O(mlogm),\)实现的时候注意节省空间\(.\)

我的代码是\(|V|\leq 7m,\) \(|E| \leq 17m\)


CF516D Drazil and Morning Exercise

不难发现权值分布组成了一棵以\(f_x\)最小的\(x\)为根的树\(,\)其中父亲的权值一定\(\leq\)儿子的权值\(.\)

那么直接\(two-pointers,\)然后用并查集维护当前的答案就可以做到 \(O(nα(n))\)处理一组询问 \(.\)

复杂度 \(O(nα(n)q).\)


CF605E Intergalaxy Trips

考虑倒着做\(,\)从小到大更新概率\(,\)并维护不出现边的概率和出现边时的期望\(.\)

\(O(n^2)\),


P3825 [NOI2017]游戏

\(2-SAT.\)

枚举类型为x的场地的类型然后\(2-SAT\)即可\(.\)

\(O(2^d(n+m))\)


CF538H Summer Dichotomy

贪心的考虑\(n1,n2\)的取值然后二分图染色即可\(.\)

\(O(n+m)\)


CF571D Campus

\(M\)操作带来的合并建树\(,\)并用\(dfs\)序建线段树\(,\)可以求出一个数最近的\(Z\)操作的时间\(,\)这样我们把询问差分成两个前缀询问\(,\)用启发式合并维护一下就可以了\(.\)

\(O(n\log n),\)注意这题的空间限制\(,\)尽量不要用空间带\(log\)的做法\(.\)


P6630 [ZJOI2020] 传统艺能

矩乘题\(.\)


CF568C New Language

\(2-SAT+\)贪心\(.\)

\(O(nm).\)


CF566E Restoring Map

首先非叶节点之间的边可以直接集合之间两两取\(and\)得到\(.\)

然后特判掉非叶节点个数\(\leq 2\)的情况\(,\)叶节点\(>3\)个的时候可以通过比较\(bitset\)得到叶节点的父亲\(.\)

\(\large O(\frac{n^3}{w}),\)其中\(w=64.\)


CF603E Pastoral Oddities

不难发现题目中的条件等价于所有联通块大小都是偶数\(.\)

可以用\(lct\)维护最小生成树\(,\)也可以分治\(.\)

\(O((n+m)\log(n+m))\)\(O(n\log n \log m),\) 但在实际效果上分治比 \(lct\)\(.\)


CF585E Present for Vitalik the Philatelist

考虑求出\(f_d =\) \([\gcd \{ S \} = d\)\(\{ S \}\) 的数量 \(],\)
和 $g_d = $ $ [ $ $ x \perp d $ 的 \(x\) 的数量 $ ] ,$

那么答案为 \(ans =\sum\limits_{i>2}^{10^7} f_ig_i\)

可以反演之后 \(Dirichlet\) 前缀和 , \(O(w\log \log w)\)


P5787 二分图 /【模板】线段树分治

线段树分治 \(/\) \(\ LCT.\)


CF576E Painting Edges

线段树分治\(,\)当一个操作生效之后把它\(insert\)到线段树上即可\(.\)

\(O(n\log^2n+nk)\)

需要注意的是 \(,\) 理论上是可以用 \(lct\) 维护这个东西的 \(,\) 但是如果使用 \(lct\) 来维护会爆空间 \(.\)


CF553E Kyoya and Train

首先有一个\(O(mt^2)\)的暴力\(,\)然后容易发现转移是一个卷积的形式\(,\)并且转移图是一个\(DAG.\)

那么就可以分治\(FFT\)解决这个问题了 \(.\)

\(O(mt\log ^2t).\)


CF643F Bears and Juice

一道好题\(.\)

我们从信息熵的角度去考虑问题\(,\)即在这样一个问题中会有多少种熊醉酒情况\((\) 在哪一天喝醉以及是否喝醉 \(),\) 这个数值 \(Ans=\sum \binom{n}{i}\times x^i\) \((x\)表示天数\(),\)不难发现这个数值是答案的上界\(.\)

并且我们可以构造出对应的方案使得在有\(Ans\)个桶的时候可以正确判断出哪一桶是酒 \(,\) 所以这个上界也是可以达到的 \(.\)

那么我们计算这个式子就可以算出答案了\(.\)

\(O(\frac{p^3}{\ln p}+pq).\)


CF547E Mike and Friends

把询问差分\(,\)建出\(AC\)自动机\(,\)用树状数组维护对答案的贡献\(.\)

也可以在广义\(SAM\)上线段树合并\(,\)但是很容易\(MLE,\)需要注意空间常数\(.\)


CF704B Ant Man

可以直接\(O(n^2)\)贪心\(,\)也可以用堆优化到\(O(n\log n).\)


CF611H New Year and Forgotten Tree

枚举\(prufer\)序列得到关键点的连接方式\(,\)然后跑网络流\(check.\)

\(m=\lfloor \log_{10}n \rfloor \leq 6,\)复杂度为

\(O(m^{m-2}\times Dinic(m^2,m^2)).\)


P6627 [省选联考 2020 B 卷] 幸运数字

随便做\(.\)


P6628 [省选联考 2020 B 卷] 丁香之路

对于每组询问把编号为奇数的点之间通过一些\((i,i+1)\)的边连接起来\(,\)然后做\(mst\)即可\(.\)

\(O(n^2).\)


CF704C Black Widow

考虑把布尔表达式当成点\(,\)在有下标绝对值相同的\(x_i\)的表达式之间连一条边\(.\)

不难发现只会有一些链和环\(,\)分类讨论\(dp\)一下就好了\(.\)

\(O(n+m).\) 代码细节很多\(.\)


CF704D Captain America

考虑最大化花费较小的那个元素\(.\)

建图\(,\)有源汇上下界最大流\(.\)

\(O(Dinic(n,n)),\)网络流图是个二分图\(,\)所以是\(O(n\sqrt n)?\)

两维都要离散化\(,\)注意细节\(.\)


CF708D Incorrect Flow

对每条边\((x,y)\)分别考虑\(.\)

\(1.\) \(f\leq c:\)

\((x,y,c-f,1)\) \((y,x,f,1)\) \((x,y,+\infty,2)\)

\(2.\) \(f>c:\)

先加上\(f-c\)的花费再加边\(:\)

\((y,x,f-c,0)\) \((y,x,c,1)\) \((x,y,+\infty,2)\)

然后考虑本来的流量\(f:\)加入上下界\(,\)连上上界\(=\)下界\(=f,\)费用为\(0\)的边

然后跑上下界最小费用流即可\(.\)

\(O(Zkw(n,n+m))\)


P4094 [HEOI2016/TJOI2016]字符串

建出\(SA,\)然后考虑二分答案后用主席树\(check.\)

时间\(O(n\log^2 n),\)空间\(O(n\log n)\)

如果离线可以做到时间\(O((n+m)\log n),\)空间\(O(n+m)\)


P3987 我永远喜欢珂朵莉~
P5610 [Ynoi2013]大学

用并查集维护可能要\(/x\)的数字的下标\(,\)每次修改先二分一下然后在并查集上往后跳\(.\)

每个\(a_i\)的变化次数为\(O(\log a_i)\)\(.\)

每次\(a_i\)的值发生变化的时候在\(BIT\)上修改即可\(.\)

\(O(nd\alpha(n)+n\log n\log a_i).\)


CF679E Bear and Bad Powers of 42

势能线段树\(.\)

考虑维护每个数字到下一个\(42\)的次幂的距离\(,\)修改的时候如果这个距离被减成了负数就递归下去\(,\)就好了\(.\)

\(O(nlogn\times T),\)其中\(T\)值域内的\(42\)的次幂的个数\(,\)\(11.\)


CF626G Raffles

经典贪心题\(.\)

对每个点记一下他\(+1\)\(-1\)对答案造成的影响\(,\)每次修改之后计算一下彩票位置的变化即可\(.\)

\(O(n\log n).\)


CF578E Walking!

题目相当于找若干个子序列形如LRLRLR...或者RLRLRL...然后把它们拼起来\(.\)

我们把分出的子序列分为四类\(:\) LR,RL,LL,RR.

如果有形如LL或者RR必然有解\(.\)

否则如果只有一种RL/LR可以直接输出\(,\)在同时有RL,LR的情况下可以用一对RL LR 拼出一个 LL 和一个 RR

\(O(n).\)


CF643D Bearish Fanpages

在每个点\(x\)上记除了\(f_x\)之外\(a_x\)的权值\(,\)并把这个扔到\(f[i]\)\(multiset\)\(,\)然后模拟就可以了\(.\)

\(O((n+q)\log n)\)

虽然说起来很简单但是细节特别多\(.\)


CF578F Mirror Box

不难发现题目要求等价于给黑白染色后的图连出黑色生成树\(/\)白色生成树\(.\)

\(dfs\)缩一下点\(,\)\(Matrix-Tree\)即可\(.\)

\(O(nm\alpha+k^3).\)


CF671D Roads in Yusland

一种做法是\(dp,\)用堆维护对答案的贡献\(.\)

另一种做法比较有趣\(.\)线性规划的对偶

我们需要知道这个式子 \(:\)

\(max\{ c^Tx|Ax\leq b \}\) \(=\) \(min\{ b^Ty|A^Ty \geq c\}\)

这里\(b,c,x,y\)都是列向量\(,\) \(c,x\)长度相同 \(b,y\)长度相同\(.\)

然后我们把这个式子套进题目\(.\)

题目可以相当于我们选一些\(0/1\)放到\(y\)里使得\(A^Ty\geq\)一个全\(1\)列向量\(c.\)

对偶过去就变成\(:\)给每条边设置一个权值使得每条链上的权值和\(\leq\)这条链的权值\(.\)

然后用可并堆维护贪心即可\(.\) \(O(n\log n).\)


CF504E Misha and LCP on Tree

树剖\(,\)\(dfs\)序建\(SA,\)然后每次询问查\(O(\log)\)\(lcp\)即可\(.\)

\(O((n+m)\log n)\)


CF506E Mr. Kitayuta's Gift

\(O(n^3)dp\)出答案的前\(7n+10\)\(,\)然后跑\(BM\)即可\(.\)


CF568E Longest Increasing Subsequence

首先重复填数对答案没有影响\(,\)所以先忽略这个条件\(.\)

\(f_i\)为 以i为结尾的LIS的长度\(,\) \(g_i\) 为以i为结尾的LIS的上一位\(.\)

\(Min_x\)为 当前长度为\(x\)的LIS的最小的结尾 \(pos_x\)当前长度为\(x\)的LIS的最小的结尾的位置\(.\)

这些都可以简单\(dp\)出来\(.\)

然后我们考虑怎么构造方案\(.\)

不是\(-1\)的位置\(x\)我们可以直接跳到\(g_x\) \(.\)

如果\(x\)所在的位置是\(-1,\)那么我们优先找\(a_y ≠ -1 ,\)\(a_y<a_x,f_y=\)当前的长度\(-1,\)那么我们就跳到位置\(y.\)

否则\(,\)我们就只能跳到最近的一个\(-1\)的位置\(.\)

\(O(n\log n+m\log m+(n+m)k)\)


CF704E Iron Man

考虑对每条重链\(/\)轻边分别做\(,\)最后答案取个\(min\)就可以了\(.\)

求线段最早相交的时间可以用\(set\)维护\(.\)

\(O(n\log n\log m).\)


AT3858 [AGC020D] Min Max Repetition

简单构造\(.\)

不难证明最小的次数\(k=max(\lceil \frac{a}{b+1} \rceil,\lceil \frac{b}{a+1} \rceil),\)然后数列一定是形如\(AAAABAAAABAAAAB...\)然后\(BBBABBBBABBBBA...\)的形态\(,\)二分一下分隔点然后对每个位置\(O(1)\)判断即可\(.\)

\(O(T(\log a+(d-c)))\)


AT3859 [AGC020E] Encoding Subsets

直接记忆化搜索即可\(.\)可以证明\(,\)状态总数不会超过\(O(2^{\frac{n}{8}}+n^3).\)

复杂度是\(O(n^2S)\)\(,\)其中\(S\)表示状态数\(.\)


AT3860 [AGC020F] Arcs on a Circle

首先破环为链\(,\)令最长的\(l_i\)所在的位置为\(0.\)

然后对其它的\(l_i,\)枚举它们位置的小数部分的大小关系\(,\)然后再\(dp\)即可\(.\)

\(O((n-1)!\times 2^{n-1} \times (c\times n)^2).\)


P5894 [IOI2013]robots 机器人

my solution

首先题意可以转化为\(:\)每个玩具有两个属性值\(x_i,y_i,\)弱机器人可以拿掉\(x_i<A_i\)的玩具\(,\)小机器人可以拿掉\(y_i<B_i\)的玩具\(.\)

不难想到可以二分答案\(.\)

考虑如何\(check\)是否能在\(mid\)分钟的时间内拿走所有的玩具\(.\)

首先如果只有一维\(,\)显然可以直接对\(x_i\)\(A_i\)排序然后丢掉多余的机器人\(,\)直接比大小即可\(.\)

那么多加了一维就是对\(x\)先贪心\(,\)每次尽量拿走\(y\)更大的数字即可\(.\)

这个贪心很容易用一个堆来实现\(.\)

\(O(n\log ans \log n).\)


CF526G Spiders Evil Plan

首先选\(y\)条链相当于找\(2y\)个叶子节点\(,\)把它们都联通的边集的边权和\(.\)

不难发现必然会选到直径的两个端点\(,\)所以把两个直径拿出来分别建树\(.\)

如果没有强制包含\(x\)的限制\(,\)那么就可以直接长剖贪心\(.\)

但是\(x\)不一定会在选\(2y-1\)个叶子节点的方案当中\(,\)

那么我们考虑这两种情况\(:\)

\(2y-2\)的方案上加一条包含\(x\)的长链\(.\)

\(2y-1\)的方案上换掉一条长链\(,\)并加上一条包含\(x\)的长链\(.\)

这个过程可以用树上倍增实现\(.\)

\(O((n+q)\log n).\)


CF1043F Make It One

不难发现答案\(\leq 7.\)

枚举答案\(,\)容斥\(check\)就可以了\(.\)

\(O(n\log n\times ans).\)


CF241D Numbers

只保留\(a_i\leq 24\)的数值\(,\)然后\(O(2^{24})\)暴力即可\(.\)


P4491 [HAOI2018]染色

二项式反演题\(.\)

$f_n = $ 钦定 \(n\) 种颜色满足条件的方案数

$g_n = $ 恰好 \(n\) 种颜色满足条件的方案数

我们要求的是\(g_{0..n},\)但是\(g\)不容易直接求\(,\)那么就先求出\(f_{0..n}\)然后二项式反演即可得到\(g.\)

反演的部分可以用\(NTT\)实现\(.\)

\(O(T\log T),\)其中\(T=\min(m,\lfloor\frac{n}{S} \rfloor).\)


P3943 星空
CF79D Password

状压\(dp.\)

把问题转换为差分序列上的问题\(,\)然后就可以状压\(dp\)\(.\)

转移值可以通过\(bfs\)提前求出\(.\)


CF809E Surprise me!

反演题\(.\)

\(p_i\)为权值为\(i\)的点是什么\(.\)

\(\large \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}φ(a_ia_j)dis(i,j)\)

$\large = \sum\limits_{i=1}{n}\sum\limits_{j=1}φ(ij)dis(p_i,p_j) $

\(\large = \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\frac {\large φ(i)φ(j)\gcd(i,j)}{\large φ(\gcd(i,j))} dis(p_i,p_j)\)

\(\large = \sum\limits_{d=1}^{n} \frac{\large d}{\large φ(d)} \sum\limits_{i=1}^{\large \lfloor \frac{n}{d} \rfloor}\sum\limits_{j=1}^{\large \lfloor \frac{n}{d} \rfloor} φ(id)φ(jd)dis(p_{id},p_{jd})[i\perp j]\)

\(\large = \sum\limits_{d=1}^{n} \frac{\large d}{\large φ(d)} \sum\limits_{p=1}^{\large \lfloor \frac{n}{d} \rfloor} \mu(p)\sum\limits_{i=1}^{\large \lfloor \frac{n}{dp} \rfloor}\sum\limits_{j=1}^{\large \lfloor \frac{n}{dp} \rfloor} φ(idp)φ(jdp)dis(p_{idp},p_{jdp})\)

\(T=dp,\)\(T\)提出来\(:\)

\(\large \sum\limits_{T=1}^{n} (\large \sum\limits_{d|n}\frac{\large d}{\large φ(d)} \mu(\large \frac{\large T}{\large d}))\sum\limits_{i=1}^{\large \lfloor \frac{n}{T} \rfloor}\sum\limits_{j=1}^{\large \lfloor \frac{n}{T} \rfloor} φ(iT)φ(jT)dis(p_{iT},p_{jT})\)

枚举\(T,\)然后建虚树\(,\)在虚树上求答案即可\(.\)

\(O(n\log n).\)


SP22549 DIVFACT4 - Divisors of factorial (extreme)

对于每组询问\(,\)小于\(\sqrt n\)的部分暴力\(,\)大于\(\sqrt n\)的部分可以数论分块\(.\)

问题变为若干个询问区间质数个数的问题\(,\)且询问端点\((\) 除了其中最多一个 \()\) 都是形如\(\lfloor \frac{n}{i} \rfloor\) 的数\(,\)因此\(Min25\)筛即可解决\(.\)

\(O(T(\large \sqrt{n}+\frac{n^{\frac{3}{4}}}{\log n}))\)

注意模数很大\(,\)要使用快速乘\(.\)


CF666D Chain Reaction

\(O(2^4)\)枚举每个点的移动方向\(.\)

然后分五类讨论即可\((\)


P3380 【模板】二逼平衡树(树套树)

在值域上建线段树\(,\)线段树上套平衡树维护每个点所包含值域区间的下标集合\(.\)

所有操作的复杂度都是\(O(\log^2).\)


P4916 [MtOI2018]魔力环

考虑\(Brunside\)然后计数\(.\)

\(F(n,m)\)为不考虑环\(,\)\(n\)个黑的\(,\) \(m\)个白的方案数\(.\)

\(G(n,m)\)为考虑环的方案数\(.\)

\(F(n,m)\)可以枚举连续\(k+1\)个黑色的总数并容斥\(,O(\lfloor \large \frac{n}{k+1} \rfloor)\) 计算\(.\)

\(G(n,m)=\sum\limits_{i=0}^k (i+1)F(n-i,m-1).\)

所以\(G(n,m)\)可以\(O(n)\)计算\(.\)

然后枚举\(\gcd (n,m)\)的约数并计数即可\(.\)

复杂度\(O(n\sqrt n)\)


CF1149D Abandoning Roads

考虑一条路径存在的条件\(:\)在已经把\(A\)边形成的联通块合并起来的时候\(,\)当且仅当路径中的所有\(B\)边连出了一个环时不合法\(,\)否则必定合法\(.\)

那么很容易有一个\(O((n+m)2^n)\)的状压\(DP.\)

发现大小\(\leq3\)的联通块是不用记录进状态里的\(,\)只需要临时判一下就好\(.\)

这样联通块个数就变成\(\lfloor \frac{n}{4} \rfloor\)\(.\)

\(O((n+m)2^{\lfloor \frac{n}{4} \rfloor}.)\)


P5279 [ZJOI2019]麻将

考虑建出麻将自动机\(,\)\(dp_{0/1,0/1/2,0/1/2}\)\(cnt\)来表示胡牌状态\(.\)

搜索一下可以发现自动机里的点数只有\(2092\)\(.\)

然后\(O(n^2\times 2092)\) \(DP\)一下即可\(.\)


P4314 CPU监控

区间赋值/区间加/查询区间最大值/查询区间历史最大值\(.\)

维护加标记,区间历史最大加标记,赋值标记,历史最大赋值标记即可\(.\)

设序列长度为\(n,\)操作次数为\(m,\)则复杂度为\(O((n+m)\log n).\)

posted @ 2020-08-29 10:27  srf  阅读(229)  评论(0编辑  收藏  举报