自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 JOI 2022 Final

星际蛋糕推销先算出每一段蛋糕的长度,每次询问在原序列上二分查找或双指针即可。时间复杂度 O(N+Q)O(N+Q)O(N+Q),空间复杂度 O(N)O(N)O(N)#include<stdio.h>#include<algorithm>int a[200001];long long sum[200001];int main(){ int n,q,d; scanf("%d",&n); for(register int i=1;i<=n;i++){ s

2022-04-03 13:13:37 869

原创 字符串题目集

题目:SCOI2012 喵星球上的点名HAOI2018 字串覆盖划分成回文串ZJOI2015 诸神眷顾的幻想乡Alphabetic TreeLittle GothAsterisk SubstringsSCOI2012 喵星球上的点名HAOI2018 字串覆盖划分成回文串ZJOI2015诸神眷顾的幻想乡Alphabetic TreeLittle GothAsterisk Substrings...

2022-02-26 16:45:47 177

原创 省选前的杂题

题目:Reunion三角形异或图shallot加强版清扫银河Clamp Paths on TreePermutation Deletion金枪鱼付款金枪鱼食用Reunion三角形异或图shallot加强版维护正整数的可重集合,支持插入、删除操作,并且每次操作后都要查询子集异或和的最大值。输入的数要异或上次询问的答案。1⩽n⩽5000001 \leqslant n \leqslant 5000001⩽n⩽500000时间限制6s,空间限制512MB。清扫银河Clamp Pa

2022-02-18 20:51:20 337

原创 计算几何收录

题目:HNOI2016 矿区SDOI2016 平凡的骰子JSOI2018 绝地反击HNOI2004 最佳包裹SCOI2015 小凸想跑步APIO2018 选圆圈椭圆面积异或并HNOI2016 矿区首先将平面图转成对偶图。将每个点为端点的边按极角排序,然后按逆时针顺序遍历每个区域,算出面积并编号,求出对偶图。求出对偶图的生成树,一个原图的块在生成树上仍然是联通块,遍历询问的边时判断询问的联通块和该边在树上的关系即可找到对应子树的贡献。时间复杂度 O(nlog⁡2n+∑d)O(n \log

2022-02-07 14:16:11 307

原创 冬令营系列题目

题目:WC2020 猜数游戏WC2020 选课WC2020 猜数游戏如果猜数 xxx 可以得到 yyy,则从 xxx 连一条有向边到 yyy。如果事先建好了图,则可以简单算出每个数对答案做出贡献的概率。由于题目的特殊性质,模数一定有原根,将数按照阶分类,每一类中的数可以相互到达,类之间为一个有向无环图。因此算出每个数的阶然后分类即可。时间复杂度 O(nP)O(n \sqrt P)O(nP​),空间复杂度 O(n+P)O(n+\sqrt P)O(n+P​)#include<iostream&

2022-02-05 12:36:51 470

原创 NOIP模拟系列题目

题目列表:树树求大小为 nnn 的所有带标号无根树的直径的和模 PPP 的值。1⩽n⩽500,108⩽P⩽21474836471 \leqslant n \leqslant 500,10^8 \leqslant P \leqslant 21474836471⩽n⩽500,108⩽P⩽2147483647时间限制4s,空间限制1GB首先枚举树的直径。如果直径为偶数,则树可以看做两棵...

2021-10-26 23:28:18 195

原创 NOI2016 网格

题面答案显然在−1,0,1,2-1,0,1,2−1,0,1,2之中,因为如果不是−1,0,1-1,0,1−1,0,1的话一定可以在一个角落的位置放两个蛐蛐达成目的。若答案为−1-1−1,则跳蚤数量小于222或者两个跳蚤不相邻。若答案不为−1-1−1,则将相邻的跳蚤连边,若图不连通则答案为000,若图连通且存在割点则答案为111,否则答案为222。实际上跳蚤数量很多,直接连边不现实。将所有蛐蛐周围的八个跳蚤取出,并取出其所在行、所在列最靠边的四个跳蚤,再在整个矩形的四个角每个角取出四个跳蚤。把取出的跳

2021-09-24 23:02:20 116

原创 三维空间曼哈顿最小生成树

题面二维空间最小生成树的解决方法是以每个点为中心将二维平面分成米字型的八个区域,在每个区域里求出距离最近的点连边。这样做的原理是每个区域满足中心点与更远的点连边不优。同样地,将三维空间每个卦限划分为四个三棱锥型区域,中心点在每个区域中找最近点连边。划分方式见下图:图中1,2,3,4为四个三棱锥区域。每个三棱锥区域都可以用三个面来描述,因此可以转为三维偏序限制。对于三维偏序问题,用CDQ分治即可。时间复杂度 O(nlog⁡22n)O(n \log_2^2n)O(nlog22​n),空间复杂度 O(

2021-09-05 23:17:03 617

原创 多校2021记录

题目:I love playing gamesI love playing games如果双方到终点最短路长度不同或能到终点的情况不同,则可以直接判出胜利方。若最短路长度相同,则先手不会败,而且还会尝试使后手失败;后手不会胜,会尝试得到平局。设 fi,jf_{i,j}fi,j​ 为先手在 iii,后手在 jjj 的结局。可以通过 i,ji,ji,j 距离终点的最短路判断出当前该谁移动。#include<stdio.h>#include<vector>#include&l

2021-07-28 09:31:34 136

原创 NOI模拟赛记录

题目:差不多得了模拟计算几何差不多得了给定平面内 nnn 个点坐标为 (xi,yi)(x_i,y_i)(xi​,yi​),求每个点到其他点的距离之和。要求精度达到10−410^{-4}10−41⩽n⩽2000001 \leqslant n \leqslant 2000001⩽n⩽2000000⩽xi,yi⩽1090 \leqslant x_i,y_i \leqslant 10^90⩽xi​,yi​⩽109时间限制1s,空间限制512MB由于一条线段在各个方向的直线上的投影长度的积分与原长成

2021-07-15 18:06:14 177

原创 最大流最小割费用流线性规划模拟费用流保序回归

题面对每个塔,将它攻击的范围用有向边串起来,割掉一条边表示选择对应的点。将流量赋为最大可能值减去该位置的值即可。对于炮弹轨迹不能相交的限制,在一条链上对应位置连一条有向边流量为正无穷到另一条链上对应的点即可,并将另一条链翻转。时间复杂度 O(n3m3)O(n^3m^3)O(n3m3),空间复杂度 O(n2m2)O(n^2m^2)O(n2m2)#include<stdio.h>#include<queue>using namespace std;#define R regi

2021-06-16 23:08:16 310 1

原创 单位根反演 小猪佩奇学数学

题面一个比较纯粹的推式子题目,第一步先将整除拆开:∑i=0n(ni)pi1k(i−imod  k)\sum_{i=0}^n \binom{n}{i} p^i \frac{1}{k}(i-i \mod k)∑i=0n​(in​)pik1​(i−imodk)拆开括号并枚举余数:1k(∑i=0n(ni)pii−(ni)pi∑j=0k−1[(i−j)mod  k=0]j)\frac{1}{k}(\sum_{i=0}^n \binom{n}{i} p^i i-\binom{n}{i}p^i \sum_{j=0

2021-06-12 20:18:25 127

原创 Atcoder AGC047 E Product Simulation

题面由于不知道 A,BA,BA,B,且操作总数的限制,需要用类似快速乘的方式,将 A,BA,BA,B 拆为 log⁡2A\log_2Alog2​A 个二进制位,最后进行卷积即可。首先要召唤出一个111。只要让 AAA 与 A+BA+BA+B 比较即可。当 A,BA,BA,B 有一个为 000 时,再或一个 BBB 与 A+BA+BA+B 比较即可。当 A=B=0A=B=0A=B=0 时无法召唤出111且不需要111。有了111之后,就可以倍增得到所有 2i2^i2i 的值。记录变量 ccc 表示当前拆

2021-06-09 21:15:13 167

原创 Atcoder AGC044 E Random Pawn

题面首先有一个很简单的想法,设 fif_ifi​ 为从第 iii 个位置出发的最大收益,决策得到:fi=max⁡(Ai,12(fi−1+fi+1)−Bi)f_i=\max(A_i,\frac{1}{2}(f_{i-1}+f_{i+1})-B_i)fi​=max(Ai​,21​(fi−1​+fi+1​)−Bi​)这里的下标均在模 nnn 意义下。由于收益只会来自于 AAA,所以对于 AAA 最大的 iii 一定有 fi=Aif_i=A_ifi​=Ai​。由此可以将环拆为链。当 Bi=0B_i=0Bi​

2021-06-09 20:43:30 264

原创 牛客挑战赛49 G Ok起飞

由于原图是仙人掌,可以将一个简单环中流量最小的边删掉,并让该环中剩下的边加上该边的流量,最终形成一棵树。类似于瓶颈树,将边按流量排序,按流量从大到小的顺序加入。将异或的贡献拆位,维护每个连通块每个二进制位为000和111的点个数即可计算答案。#include<stdio.h>#include<vector>#include<set>#include<map>#include<algorithm>using namespace std;

2021-06-06 21:03:08 245 2

原创 牛客挑战赛48 F 小丑生产值

有一个很显然的结论,一个周期串一点是一个本原平方串,否则字典序不优。所以先进行一次Lyndon分解,求出以每个字符开头的最短本原平方串,最后求前缀最小串即可。中途求字符串LCS、LCP以及比大小都可以用二分哈希来实现。时间复杂度 O(nlog⁡2n+m)O(n \log_2n +m)O(nlog2​n+m),空间复杂度 O(n)O(n)O(n)#include<stdio.h>#include<string.h>#define R register int#define C

2021-06-06 20:55:55 87

原创 拟阵深造 遗忘的记忆

拟阵一个集合 PPP 是拟阵的充要条件为:ϕ∈P\phi \in Pϕ∈P。对于任意的集合 A,BA,BA,B 满足 A∈P,B⊂AA \in P,B \subset AA∈P,B⊂A,一定有 B∈PB \in PB∈P。对于任意的集合 A,BA,BA,B 满足 ∣A∣>∣B∣|A|>|B|∣A∣>∣B∣,则一定存在元素 x∈∁ABx \in \complement_A^Bx∈∁AB​ 满足 B⋂{x}∈PB \bigcap \{x \} \in PB⋂{x}∈P。拟阵交现

2021-05-26 19:49:07 133

原创 PKUSC 2021

求和变换给定一大小为 n×nn \times nn×n 的矩阵 MMM,每次变换将 Mi,jM_{i,j}Mi,j​ 变为当前的 ∑k=0n−1Mi,k+Mk,j\sum_{k=0}^{n-1}M_{i,k}+M_{k,j}∑k=0n−1​Mi,k​+Mk,j​。求原矩阵变换 ttt 次的结果,每个位置的答案对 PPP 取模。1⩽n⩽1000,0⩽t⩽109,2⩽P⩽1091 \leqslant n \leqslant 1000,0 \leqslant t \leqslant 10^9,2 \leqsl

2021-05-23 23:24:32 1102 1

原创 Codeforces 1299 D 环游世界

题面对于图上路径异或问题,先抓一棵生成树,对于每条非树边算出接在树上形成的环异或值,将这些值加入线性基中求解。这里同样的做法,在选生成树时优先选与111号点相连的边。对于非树边分情况讨论:存在点 x,yx,yx,y,x,y,1x,y,1x,y,1 中两两有连边。先将 x,yx,yx,y 子树内的非树边加入线性基,若保留 1,x1,x1,x 之间的边或 1,y1,y1,y 之间的边,则该线性基最终会保留下来。若保留这两条边,则 x,yx,yx,y 之间的边也会保留下来。直接将非树边加入线性基即可。

2021-05-10 12:11:27 159

原创 ZJOI 2020 序列

题面首先,前两个数一定要被清零,分为三种情况讨论:a1=0a_1=0a1​=0,直接跳过。a2=0a_2=0a2​=0,从 111 位置发出 a1a_1a1​ 个只减奇数位置的区间,左端点为 111,右端点待定。a2>0a_2>0a2​>0,从 111 位置发出 a1a_1a1​ 个完整的区间,左端点为 111,右端点待定。对于位置 i−1i-1i−1 与 iii 类似讨论。设现在还有 AAA 个右端点待定的完整区间数量,要经过 iii 位置的不完整区间数量为 BBB,另一种

2021-03-30 21:27:52 257

原创 伯努利数 仓鼠的数学题

题面设 BiB_iBi​ 为伯努利数的第 iii 项。伯努利数有许多定义方法,这里定义 ∑i=0Bii!xi=x1−e−x\sum_{i=0}\frac{B_i}{i!}x^i=\frac{x}{1-e^{-x}}∑i=0​i!Bi​​xi=1−e−xx​。设 Gn(x)=∑i=0Si(n)n!xiG_n(x)=\sum_{i=0}\frac{S_i(n)}{n!}x^iGn​(x)=∑i=0​n!Si​(n)​xi,带入 Si(n)S_i(n)Si​(n) 得到:Gn(x)=∑i=0∑j=0n(jx)

2021-03-30 07:24:38 120

原创 递推数列深造

线性递推数列求数列最小线性递推式设 rir_iri​ 为数列 a0⋯ai{a_0 \cdots a_i}a0​⋯ai​ 的最小线性递推式,lil_ili​ 为 rir_iri​ 的阶数。显然有 li−1⩽lil_{i-1} \leqslant l_ili−1​⩽li​。设 did_idi​ 为真实 aia_iai​ 与用 ri−1r_{i-1}ri−1​ 计算出的 aia_iai​ 的差。若 di=0d_i=0di​=0 则 ri=ri−1r_i=r_{i-1}ri​=ri−1​,否则 li>li

2021-02-21 19:56:09 277 1

原创 Atcoder AGC050

A考虑到10≈log⁡2100010 \approx \log_2 100010≈log2​1000,每个页面向外连出两条边,要求任意两点距离不超过101010,因此建一颗类似于线段树的图。点 ppp 连向模意义下的点 2p2p2p 和 2p+12p+12p+1 即可。时间复杂度 O(n)O(n)O(n),空间复杂度 O(1)O(1)O(1)#include<iostream>using namespace std;int main(){ int n,a,b; cin>&gt

2021-02-18 20:34:51 230

原创 Codeforces 1479 D Odd Mineral Resource

题面此题树上不带修,查询路径信息,时限较长,可以树上莫队。利用树上莫队的传统方法,先树分块,对询问排序,然后再执行类似普通莫队的操作即可。但这里的修改操作并不好处理,于是在外层套一分块。每次修改就先修改单点的奇偶性,再修改块内奇数的总数。查询时用普通分块查询方法即可。时间复杂度 O((n+q)n)O((n+q) \sqrt{n})O((n+q)n​),空间复杂度 O(n+q)O(n+q)O(n+q)#include<stdio.h>#include<algorithm>#i

2021-02-08 10:22:38 332 1

原创 Atcoder AGC051 A 十二边形

题面先手绘 d>1d>1d>1 的情况,可以发现大十二变形的拆分是分层的。由几何知识可知,正十二变形共十个个内角,每个内角150°150°150°,只能被拆分为90°+60°90°+60°90°+60°;当 d>1d>1d>1 时会涉及平角的拆分,其拆分方法有两种:将这条边上摆正方形且该边对应的内层的边长度不变或摆若干正三角形成梯形且该边对于的内层边长度减一。当内层空间变为正六边形时,只有一种填充方式即填满正三角形。从上看出某层图形如果是十二变形则其边一定是某一边长与

2021-02-07 10:43:04 270

原创 友谊赛 Rainyrabbit 爱求和

题面描述已知定值 ccc,给出 a,ba,ba,b 的值,求 ∑i=1a∑j=1b∑k=0c∑d=1idk[ilcm(d,j)]\sum_{i=1}^a \sum_{j=1}^b \sum_{k=0}^c \sum_{d=1}^i d^k [\frac{i}{lcm(d,j)}]∑i=1a​∑j=1b​∑k=0c​∑d=1i​dk[lcm(d,j)i​] 模998244353998244353998244353的值。共 ttt 次询问。1⩽t⩽200000,1⩽a⩽106,1⩽b⩽1018,0⩽c⩽10

2021-02-04 23:04:06 172

原创 任意模长DFT

离散傅里叶变换(DFT)首先引入DFT式:V(j)=∑i=0n−1aiωnijV(j)=\sum_{i=0}^{n-1} a_i \omega_n^{ij}V(j)=∑i=0n−1​ai​ωnij​其中,aia_iai​ 为一长度为 nnn 的多项式 A(x)A(x)A(x) 的各项系数,即 A(x)=∑i=0n−1aixiA(x)=\sum_{i=0}^{n-1}a_i x^iA(x)=∑i=0n−1​ai​xi,nnn 也是DFT的模长。V(x)V(x)V(x) 为多项式经过DFT后的多项式。ωn

2021-01-20 00:00:22 409

原创 Codeforces 438 E 小朋友和二叉树

题面根据题意,设 ftf_tft​ 表示权值和为 ttt 的二叉树数量,枚举根节点的权值和右子树的权值,则有:ft=∑i=1n∑j=0t−cift−ci−jfjf_t=\sum_{i=1}^n \sum_{j=0}^{t-c_i} f_{t-c_i-j}f_jft​=∑i=1n​∑j=0t−ci​​ft−ci​−j​fj​设 gig_igi​ 表示是否存在权值为 iii 的点,有则 gig_igi​ 为111,否则为000。对上式进行改写:ft=∑i=1t∑j=0t−igifjft−i−jf_t=\

2021-01-16 09:20:08 134

原创 SDOI 2013 项链

题面首先,求出不同的珠子的数量。按照题意,珠子数量为:∑i=1a∑j=ia∑k=ja[gcd(i,j,k)=1]\sum_{i=1}^a \sum_{j=i}^a \sum_{k=j}^a [gcd(i,j,k)=1]∑i=1a​∑j=ia​∑k=ja​[gcd(i,j,k)=1]进行简单容斥,得到:16(2+∑i=1a∑j=1a(3[gcd(i,j)=1]+∑k=1a[gcd(i,j,k)=1]))\frac{1}{6}(2+\sum_{i=1}^a \sum_{j=1}^a (3[gcd(i,j

2021-01-09 22:37:50 112

原创 联合省选 2020 作业题

题面根据欧拉函数的性质,有 n=∑i∣nφ(i)n=\sum_{i|n}\varphi(i)n=∑i∣n​φ(i),因此,将最终要求的答案化为:∑T∑i∈Twi∑d=1φ(d)[d∣gcdj∈Twj]\sum_T \sum_{i \in T} w_i \sum_{d=1} \varphi(d)[d|gcd_{j \in T}w_j]∑T​∑i∈T​wi​∑d=1​φ(d)[d∣gcdj∈T​wj​]其中 gcdi∈Swigcd_{i \in S}w_igcdi∈S​wi​ 为边集 SSS 中边权值的

2020-12-25 23:49:06 124

原创 BZOJ 4162 Shlw loves matrix II

题面此处为计算矩阵幂,直接快速幂不够快,考虑用数学方法优化。对于一个 k×kk \times kk×k 的方阵 MMM,都有一个特征多项式 f(x)f(x)f(x) 满足 f(M)=0f(M)=0f(M)=0。f(x)f(x)f(x) 的构造方法如下:f(x)=det(M−Ix)f(x)=det(M-Ix)f(x)=det(M−Ix)其中,III 为单位矩阵,显然 f(M)=0f(M)=0f(M)=0 成立。对于这个多项式,直接求行列式不好求,但可以知道的是 f(x)f(x)f(x) 为 kkk

2020-12-20 23:28:34 170

原创 杜教筛提高

神犇和蒟蒻根据 μ(n)\mu(n)μ(n) 的定义,当 nnn 为大于111的完全平方数时 μ(n)=0\mu(n)=0μ(n)=0,当 n=1n=1n=1 时 μ(n)=1\mu(n)=1μ(n)=1。因此 ∑i=1nμ(i2)=1\sum_{i=1}^n \mu(i^2)=1∑i=1n​μ(i2)=1。对于 φ(n)\varphi(n)φ(n),根据经验,转化为约数的 φ\varphiφ 之和。即:n=∑i∣nφ(i)n=\sum_{i|n}\varphi(i)n=∑i∣n​φ(i)因此有:

2020-12-20 17:38:51 135

原创 基础 DFS序、树链剖分

DFS序和树链剖分都是在树的前提下才有效的。DFS序DFS,即对树进行DFS时遍历的顺序。记录每个点被遍历之前遍历过的点数 ininin 和遍历完以该点为根的子树后遍历过的点数 outoutout。若点 vvv 为 uuu 子树中的点,则一定满足 inu⩽inv⩽outuin_u \leqslant in_v \leqslant out_uinu​⩽inv​⩽outu​。因此任意一点 uuu 的子树可以用区间 [inu,outu][in_u,out_u][inu​,outu​] 来表示。求DFS序模板

2020-11-14 19:16:17 173

原创 模拟赛 信号的覆盖

题面描述已知整数 nnn。fi=∑j=1ndis(i,j)f_i=\sum_{j=1}^n dis(i,j)fi​=∑j=1n​dis(i,j),已知 f1,f2,⋯fnf_1,f_2, \cdots f_nf1​,f2​,⋯fn​,且对于任意的 1⩽i<j⩽n1 \leqslant i < j \leqslant n1⩽i<j⩽n 满足 fi≠fjf_i ≠ f_jfi​​=fj​。构造一颗由 nnn 个节点构成的树满足对于每个节点的 fff 值与给定的值相同,或输出无解。1⩽n⩽

2020-10-28 23:12:19 113

原创 线段树优化建图 树上的最短路

题目描述题目中树边为双向边,之后增加的边为单向边。题目要求树上两条链中的点两两连边,显然不能通过。对于链的问题,考虑树剖。将剖出来的重链用线段树优化建图,条链对应 O(log22n)O(log_2^2n)O(log22​n) 个线段树节点,两两连边增加 O(log24n)O(log_2^4n)O(log24​n) 条边,最后跑Dijkstra时间复杂度为 O(mlog25n)O(mlog_2^5n)O(mlog25​n)。每次加边增加一个点,将第一条链对应的线段树节点连向这个点,再由这个点连向所有第二

2020-10-27 20:49:02 222

原创 模拟赛 生成树

题目描述给定 nnn 个点,第 iii 个点有一个非负点权 aia_iai​。这 nnn 个点连成了一张无向完全图,其中第 iii 个点和第 jjj 个点连的边长度为 aia_iai​ 按位异或 aja_jaj​。现在要求出这张无向完全图的最小生成树。1⩽n⩽200000,0⩽ai⩽10737418231 \leqslant n \leqslant 200000,0 \leqslant a_i \leqslant 10737418231⩽n⩽200000,0⩽ai​⩽1073741823时间限制2s

2020-10-22 20:33:40 173

原创 模拟赛 路径和

题目描述对于一张有向图,定义 d(u,v,w)d(u,v,w)d(u,v,w) 为从 uuu 号点出发,不经过 vvv 号点,最终到达w号点的最短路径长度。如果不存在这样的路径,d(u,v,w)d(u,v,w)d(u,v,w) 的值为−1−1−1。你也可以认为 d(u,v,w)d(u,v,w)d(u,v,w) 是删去 vvv 点和其相关的边后,图中 uuu 到 www 的最短路。现在给定这张有向图每两个点之间的有向边的长度(如果不存在连边则为−1−1−1),对于所有满足 1⩽x,y,z⩽n,x≠y,y

2020-10-22 20:19:47 127

原创 联合省选 2020 冰火战士

冰火战士题面每次注册或取消,都是在对应温度值的下标修改能量值。同时维护能量值的前缀和。每次比赛的能量值为冰火能量取最小乘二。随着温度升高,冰队的能量值不会降低,火队的能量值不会升高,具有单调性。因此考虑二分温度。每次二分都更新答案,若冰队能量值小于火队,则将温度调大;否则将温度调小,并找出某个时能量值最高的温度。但这样二分并不能求出最佳温度。所以需要再次二分温度,此时的温度小于等于之前二分的温度或答案等于实际答案则将温度调大,否则调小。此题温度规模过大,需要离散化。时间复杂度O(q2log2q)O(

2020-06-23 19:57:31 448

原创 树状数组上二分

树状数组+二分考虑一个简单的问题,维护一个数组,支持每次修改一个数的值,保证每时每刻每个数都为非负数。每次查询求前缀和kkk lower_bound 的值。对于修改,可以用树状数组、线段树等数据结构维护。二分查找可以在[l,r][l,r][l,r]的范围上二分答案,mid=⌊l+r2⌋mid = \lfloor \frac{l+r}{2} \rfloormid=⌊2l+r​⌋,验证midmidmid的前缀和是否大于kkk,并调整midmidmid。时间复杂度O(log22n)O(log^2_2n)O

2020-06-23 18:54:02 3255 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除