【学习笔记】ARC159
D - LIS 2
因为没有让你求方案数,所以还是比较好做的。
如果每一个连续段都退化成一个点,那么答案就是直接求 L I S LIS LIS。
否则,假设我们选了一些连续段把它们拼起来形成答案,显然我们有 r i + 1 ≥ l i r_{i+1}\ge l_i ri+1≥li,否则这两段不能同时存在;并且其中一段不能包含另一段,否则可以把另一段删去。那么,如果 l i + 1 > r i l_{i+1}>r_i li+1>ri,答案显然就是两段的长度加起来;如果 l i + 1 ≥ r i l_{i+1}\ge r_i li+1≥ri,那么中间那一段重复的部分不管它,答案是 r i + 1 − l i + 1 r_{i+1}-l_i+1 ri+1−li+1。
用线段树维护就做完了。复杂度 O ( n log n ) O(n\log n) O(nlogn)。
E - Difference Sum Query
非常好的谜题。但是我不会。
首先,根据 a i b i \frac{a_i}{b_i} biai的范围不难得出新的区间长度不会超过原长度的 2 3 \frac{2}{3} 32,因此 X i ≤ log N X_i\le \log N Xi≤logN。
然后,根据 { X i } \{X_i\} {Xi}的构造过程,我们可以建立一颗二叉树,那么一个点的值就是它的深度。显然 i i i和 i + 1 i+1 i+1之间是存在祖先关系的,因此问题转化为从 l l l走到 l + 1 , . . . , r l+1,...,r l+1,...,r过程中经过的路径长度。
做到这一步,感觉非常不可做。我们需要非常神奇的结论:假设让 r r r重新走回 l l l,那么答案就是 [ l , r ] [l,r] [l,r]之间的点组成的虚树的边的数目乘 2 2 2。这非常好理解,因为上述过程恰好就是做了一遍 D F S DFS DFS。今天思路实在是非常混乱,不过我们还是尝试证明一下这个结论。事实上我们只需要用到:因为是二叉搜索树,所以子树内编号是连续的,因此进入一个子树后会把会把子树内能走的点走完,出去后就再也进不来了。
那么我们只要求出虚树点的数目即可。显然只需要求 l , r l,r l,r路径上的编号不在 [ l , r ] [l,r] [l,r]之间的点的数目,复杂度 O ( log n ) O(\log n) O(logn)。
就这样吧。今日状态不佳。
F - Good Division
最近只会抄
std
\text{std}
std了,算了摆了
首先一眼真 不难看出序列合法的充要条件是不存在绝对众数。
然后似乎也没有什么特别好的思路,不妨还是尝试一下当确定绝对众数为 v v v的情形,并且我们用总方案数减去不合法的方案数。那么将 ( a 2 i − 1 , a 2 i ) (a_{2i-1},a_{2i}) (a2i−1,a2i)看成一个权值在 [ − 1 , 1 ] [-1,1] [−1,1]之间的数(记作 b i b_i bi),我们需要对后缀和 > 0 >0 >0的位置求和。
让我们跳出这个 d p dp dp。考虑对于固定的 v v v,如果对位置 i i i造成影响,那么一定存在 j < i j<i j<i,使得 S j < S i S_j<S_i Sj<Si。分析可知,这样的 i i i不会超过 c n t v cnt_v cntv个。
同时对于一个 j j j,我们还要知道它会对那些 v v v造成贡献。显然这样的 j j j也不会超过 c n t v cnt_v cntv个。
那么将这些信息预处理出来即可。注意还是要写离散化。
复杂度 O ( n log n ) O(n\log n) O(nlogn)。
没什么状态就写一下代码吧
反思:这道题做了两个下午才 A A A掉,说明自己的代码能力还是不够(或者说想得还是不够)。应该引起重视。
__EOF__

本文链接:https://www.cnblogs.com/cqbzly/p/17529994.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」