Processing math: 0%

随笔分类 -  loj

1 2 3 4 5 ··· 8 下一页
摘要:考虑归并排序,问题即如何合并两个序列A,B 不妨假设|A|>|B|,将A按下标奇偶性划分为A_{0}A_{1}A_{0}B归并,得到序列C 对于A_{1}中的元素,仅需与(C中)A_{0}中相邻两数间的B中元素比较 比较次数为|B|,用莫队 阅读全文
posted @ 2023-04-09 08:47 PYWBKTDA 阅读(136) 评论(0) 推荐(0) 编辑
摘要:注意到边界格数=(左上)轮廓线长度-1=(右下)轮廓线长度-1 问题即在整体(右下)轮廓线中选连续q+1条,满足第一条为竖线且最后一条为横线 将两者分别标记为01,即对于序列{a_{p}},判断是否存在a_{i}=0a_{i+q}=1 注意到$a_{0}=0,a_{ 阅读全文
posted @ 2023-03-17 20:11 PYWBKTDA 阅读(72) 评论(0) 推荐(0) 编辑
摘要:在树上随机选K个点,并建立虚树,称虚树上的点为关键点 **结论:**一个点到关键点最近距离的期望为O(\frac{n}{K}) 将所有点按到其距离排序,最坏情况即链的端点,此时结论是经典的 对于后两种操作,可以将两个点不断移动到父亲,直至两者相同或位于关键点 将相邻关键点间的链看作整块,每条 阅读全文
posted @ 2023-03-10 14:43 PYWBKTDA 阅读(174) 评论(0) 推荐(0) 编辑
摘要:新建一条边(1,n,L),则1n在一个点双内,且该点双外的点均不会被经过 在此基础上,考虑以下三种情况: 对于度数\le 1的点(除1,n外),同样不会被经过,不妨删除 对于度数=2的点(除1,n外),将对应两边合并(边权和相加,标记取或) 对于重边,若边权相同直接合并 阅读全文
posted @ 2023-02-04 17:49 PYWBKTDA 阅读(92) 评论(0) 推荐(0) 编辑
摘要:独木舟可以看作将边定向,并在每次经过后反向,要求最终每条边方向不变 在此基础上,考虑以下两种情况: 对于出度为0的点,到达其后仅能原路返回,不妨删除 若起点出度为1,显然第一步移动唯一,移动后起点出度变为0,仅能从该边返回(并结束) 换言之,可以将该点删除并将起点移动到出边终点 重复上述 阅读全文
posted @ 2023-01-22 12:24 PYWBKTDA 阅读(85) 评论(0) 推荐(0) 编辑
摘要:不妨假设a\le b\le c,并钦定连通的集合为A,B 建立dfs树,取节点k满足sz_{k}\ge a\forall son,sz_{son}<a 删除k后,记k子树外的连通块为S,取T=\complement_{V}S,并分类讨论: 若|S|<a,则$ 阅读全文
posted @ 2023-01-20 10:24 PYWBKTDA 阅读(54) 评论(0) 推荐(0) 编辑
摘要:为了方便,这里将下标均+1,并在0n+1处建立无穷高的塔 记i左右两侧第一个\ge h_{i}+\delta的塔为l_{i}r_{i},则通信条件也即r_{i}<jl_{j}>i 将条件转换到塔上,即集合S合法当且仅当$\forall i\in S,S\ 阅读全文
posted @ 2023-01-20 10:18 PYWBKTDA 阅读(61) 评论(0) 推荐(0) 编辑
摘要:注意到$$\begin{array}{ll}F_{n+m}&=F_{0}F_{n+m-2}+F_{1}F_{n+m-1}\\&=F_{0}F_{n+m-2}+F_{1}(F_{n+m-2}+F_{n+m-3})\\&=F_{1}F_{n+m-3}+F_{2}F_{n+m-2}\\&...\\&=F_ 阅读全文
posted @ 2023-01-19 14:54 PYWBKTDA 阅读(45) 评论(0) 推荐(1) 编辑
摘要:假设当前位于A(x,y),将坐标系按上下左右、(左/右)(上/下)分为八块 结论:存在一组最优解,每次均移动到某一块中距离(x,y)最近的某点 记d(A,B)AB的切比雪夫距离,即\max(|x_{A}-x_{B}|,|y_{A}-y_{B}|) 假设移动到的点为B阅读全文
posted @ 2022-10-21 17:36 PYWBKTDA 阅读(96) 评论(0) 推荐(0) 编辑
摘要:维护一个连通块S,初始S=\{0\},考虑拓展x\not\in SxS中某点相邻,则需找出S中所有与x相邻的点,并将x加入Sx不与S中某点相邻,则需找出x0的某条简单路径上的某点y,并拓展y 问题1:找出S中所有与x相邻 阅读全文
posted @ 2022-10-02 20:49 PYWBKTDA 阅读(68) 评论(0) 推荐(1) 编辑
摘要:以下线性规划问题,可以转化为费用流: 有m个变量,有限制x_{i}\in [0,r_{i}]\cap Nn个等式,每个等式形如\sum_{i\in U_{j}}x_{i}-\sum_{i\in V_{j}}x_{i}=C_{j} 目标函数为$\sum_{i=1}^{m}c_{i} 阅读全文
posted @ 2022-09-25 21:37 PYWBKTDA 阅读(84) 评论(0) 推荐(0) 编辑
摘要:考虑a_{i}\ge 0的情况,维护可重集S=\{a_{i}\},从前往后依次确定a_{i}x,y分别为S中的最小和最大值,取a_{i}=\begin{cases}x&xy\le w\\y&xy>w\end{cases}并在S中删除 记$Y=\{i\mid a_{i} 阅读全文
posted @ 2022-07-11 21:04 PYWBKTDA 阅读(74) 评论(0) 推荐(0) 编辑
摘要:建立AC自动机,记|xfail_{x}分别表示x的深度(从0开始)和失配指针 记W_{x}表示以x为结束节点的字符串权值和,S_{x}=\sum_{z在(fail树中)x到根路径上}W_{z} 对于字符串s_{i},定义pos_{r}表示s_{i}[1,r] 阅读全文
posted @ 2022-07-10 11:00 PYWBKTDA 阅读(283) 评论(4) 推荐(1) 编辑
摘要:枚举区间中点x,考虑L使得x为区间[x-L,x+L]的众数: 记可重集\{|i-x|\mid a_{i}=x\}中的元素依次为b_{1}\le b_{2}\le ...\le b_{k} 枚举出现次数i\in [1,k],即要求L\in [b_{i},b_{i+1}) 阅读全文
posted @ 2022-06-30 08:22 PYWBKTDA 阅读(258) 评论(0) 推荐(0) 编辑
摘要:关于距离,使用线段树存储,并维护哈希值以支持比较 建立点分树,并对每一个节点维护(点分树)子树内所有点到其的距离(对应的线段树) 需要将这些线段树(在原树的结构上)可持久化,进而时空复杂度均为o(n\log^{2}n) 将这o(n\log n)个距离分为o(n)组(允许重复),每一组距离 阅读全文
posted @ 2022-06-22 15:01 PYWBKTDA 阅读(58) 评论(0) 推荐(0) 编辑
摘要:不妨假设L\le \sum_{|i|\le n}i\cdot a_{i},否则可以交换a_{i}a_{-i}并将L取相反数 贪心:\forall i\le 0a_{i}i\forall i>0依次取$\lfloor\frac{L-L_{now}}{i}\rfl 阅读全文
posted @ 2022-06-07 20:48 PYWBKTDA 阅读(203) 评论(0) 推荐(0) 编辑
摘要:特判n为奇数的情况,显然此时答案为0 将()分别看作\pm 1,记a_{i}为前缀和,则合法当且仅当满足以下条件—— 存在0\le l\le r\le n(反转区间(l,r],允许为空),使得$\begin{cases}a_{r}-a_{l}=\frac{a_{n}}{ 阅读全文
posted @ 2022-04-25 14:17 PYWBKTDA 阅读(143) 评论(0) 推荐(0) 编辑
摘要:记cnt_{v}表示答案\ge v的区间数量,则问题即求\sum_{v\ge 1}cnt_{v}f_{l}表示最大的右端点r满足区间[l,r)的答案<v,则cnt_{v}={n+1\choose 2}-\sum_{l=1}^{n}(f_{l}-l) 初始v=1 阅读全文
posted @ 2022-04-16 17:47 PYWBKTDA 阅读(215) 评论(0) 推荐(0) 编辑
摘要:将炸弹按坐标排序并建图,其中(i,j)\in E当且仅当|x_{i}-x_{j}|\le r_{i} 性质:\forall i\in[1,n],\{j\mid (i,j)\in E\}\{j\mid i能到达j\}均构成连续区间 前者显然,后者考虑第一次跨过该点时根据前者即可到达该 阅读全文
posted @ 2022-04-12 19:46 PYWBKTDA 阅读(84) 评论(0) 推荐(0) 编辑
摘要:对于Subtask2,考虑如下做法—— 称[l,r]为"坏区间"当且仅当\sum_{i=l}^{r}a_{i}<a_{l-1},a_{r+1}a_{0}a_{n+1}看作\infty) 此时,不难证明第i条鱼能存活当且仅当不存在覆盖i的坏区间(除[1,n]外) 如 阅读全文
posted @ 2022-04-10 13:24 PYWBKTDA 阅读(88) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 8 下一页
点击右上角即可分享
微信分享提示