2024.10.23 鲜花

news/2024/10/23 10:35:05
恋ひ恋ふ縁
诚、意地の悪い神の所业か?
奇迹?縁?袂触合う不思议
花ひとひら揺れて
不意に宿ってた
うなじ解いてく春风
戯れはそこそこに
恋手ほどきしてくだしゃんせ
汤気にほんのり頬染て
夜风に愿ふ
…いざ!!蝶と舞ひ花となりて
衣を乱して祓いましょう
あやなしココロの秽れ
…故!!刀となり楯となりて
この想ひ护り赐え
君が恋の门を杀めた
恋の罠は密やかに仕挂けなきゃ
次の一手すけすけだから困る
锻錬じゃどうにもなんない
揺れる心模様
どっちが先だ?恋烦ひ
覚悟してとおりゃんせ
夜道と乙女にご用心
汤気の香り漂わせ诱う夜宴
…実に!本日はデェト日和
しどけなく诱いましょ?
凭きませ偲ぶ恋梦…
故!静となり动となりて
我を导き赐え
君の剣がハァトを射抜いた
…いざ!!蝶と舞ひ花となりて
衣を乱して祓いましょう
前世から繋がる运命
…故!刀となり花と生きて
この爱护り赐え
君はもう縁に选ばれた

基础数据结构进阶

  1. 平衡树合并:

    其实是非常简单的,就是每次钦定堆值大(也可以是小,看自己的排序方式)的作为根,用其键值切(就是 split)另一个树,分别和左右子树递归即可。

    void frg(int a,int b,int &t){if(!a||!b) return t=a|b,void();if(rd[a]>rd[b]) swap(a,b);t=a,spl(a,b,b,vl[a]);frg(lson,a,lson),frg(rson,b,rson);Upd(t);
    }
    

    复杂度分析可以参考 this,大概是在加、减、除、根号时是单 \(\log\),取模是双 \(\log\)

  2. 线段树双半群:

    众所周知,线段树可以维护半群。

    主要维护两个群 \(I,T\) 分别表示信息和标记,考虑三个方面,\(I+I\)\(I+T\)\(T+T\)

    一般的 \(I+I\)\(I+T\) 比较好做,主要是 \(T+T\),可以一直新加标记尝试维护,但很麻烦。

    有简单点的做法,考虑矩阵,矩阵天然满足结合律,但是有个比较大的常数。

    可以将矩阵拆开,只维护有用的位置,这样就和标记一样了。

  3. 兔队线段树:

    用来维护两个 \(\min/\max\) 套起来的问题,一般里面的是前后缀,可以带修。

    经典引入是 P4198 楼房重建

    现求斜率并离散化,问题变为求 \(\sum\limits_{i=1}^n[s_i>\max_{j=1}^{i-1}\{s_j\}]\)

    考虑在 \(l,r\) 上维护最大值 \(max\)只考虑本区间,即不考虑 \([1,l)\) 的贡献的和 \(cnt\)

    考虑合并,发现 \((min,r]\) 只会被 \(\max_{i=l}^{mid}{s_i}\) 影响,于是用 \(calc(i,pre)\) 表示受 \(pre\) 影响后 \(i\) 子树内的贡献。

    引用小粉兔的伪代码。

    \[\displaystyle \begin{array}{l} \textbf{def: } \mathrm{calc}(i, pre) \\ \qquad \textbf{if } (i \text{ is a leaf node}) \\ \qquad \qquad \textbf{return } {\color{green}{[\max[i] > pre]}} \\ \qquad \textbf{else} \\ \qquad \qquad \textbf{if } (\max[\mathrm{leftchild}[i]] > pre) \\ \qquad \qquad \qquad \textbf{return } {\color{blue}{\mathrm{calc}(\mathrm{leftchild}[i], pre)}} + {\color{red}{(\mathrm{cnt}[i] - \mathrm{cnt}[\mathrm{leftchild}[i]])}} \\ \qquad \qquad \textbf{else} \\ \qquad \qquad \qquad \textbf{return } {\color{blue}{0}} + {\color{red}{\mathrm{calc}(\mathrm{rightchild}[i], pre)}} \\ \qquad \qquad \textbf{endif.} \\ \qquad \textbf{endif.} \\ \textbf{enddef.} \end{array} \]

    蓝色是左子树,红色是右子树。

    容易发现在统计贡献时用到了差分,考虑不用可差分性。

    更改节点维护信息,在 \(l,r\) 上只维护右子树的贡献,\(calc\)意义不变

    \[\displaystyle \begin{array}{l} \textbf{def: } \mathrm{calc}(i, pre) \\ \qquad \textbf{if } (i \text{ is a leaf node}) \\ \qquad \qquad \textbf{return } {\color{green}{[\max[i] > pre]}} \\ \qquad \textbf{else} \\ \qquad \qquad \textbf{if } (\max[\mathrm{leftchild}[i]] > pre) \\ \qquad \qquad \qquad \textbf{return } {\color{blue}{\mathrm{calc}(\mathrm{leftchild}[i], pre)}} + {\color{red}{\mathrm{cnt}[i]}} \\ \qquad \qquad \textbf{else} \\ \qquad \qquad \qquad \textbf{return } {\color{blue}{0}} + {\color{red}{\mathrm{calc}(\mathrm{rightchild}[i], pre)}} \\ \qquad \qquad \textbf{endif.} \\ \qquad \textbf{endif.} \\ \textbf{enddef.} \end{array} \]

    查询时调用 \(calc\) 即可。

    例题:P7230 [COCI2015-2016#3] NEKAMELEONI

    首先发现,对于一个右端点,其左端点一定是右端点以后的数的 \(pre\) 的最小值,设 \(A_i=pre_{i+1}\),若不存在就设为 \(-n\),于是问题就变成了求 \(\min_{i=1}^n\{i-min_{j=i}^n\{A_j\}+1\}\)

    直接套兔队线段树即可。

P


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74956.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

CMDB平台(进阶篇):企业级CMDB的高阶教程

企业IT架构日益复杂,配置项数量庞大且关系错综复杂。为了有效管理这些配置项,确保IT服务的稳定性和可靠性,配置管理数据库(Configuration Management Database,简称CMDB)系统应运而生。本文将深入探讨企业搭建CMDB系统所需具备的要素,以及实践路径,旨在为企业提供有益的…

U 盘

目录1 USB 大容量存储设备2 设备描述符3 字符串描述符4 配置描述符集合4.1 配置描述符4.2 接口描述符4.3 端点描述符6 类特殊请求6.1 Get Max LUN 请求6.2 Bulk-Only Mass Storage Reset 请求7 Bulk-Only 传输协议的数据流模型7.1 CBW 的结构7.2 CSW 的结构7.3 对批量数据的处理…

manim边做边学--复数平面

所谓复数平面,就是一种二维坐标系统,用于几何表示复数的场景,其中横轴代表实部,纵轴代表虚部。 每个点对应一个唯一的复数,反之亦然,这种表示方法使得复数的加法、乘法等运算可以通过直观的图形变换来理解。 ComplexPlane是Manim库中用于处理复数平面的类。 它不仅提供了…

3185. 构成整天的下标对数目 II

给你一个整数数组 hours,表示以 小时 为单位的时间,返回一个整数,表示满足 i < j 且 hours[i] + hours[j] 构成 整天 的下标对 i, j 的数目。 整天 定义为时间持续时间是 24 小时的 整数倍 。 例如,1 天是 24 小时,2 天是 48 小时,3 天是 72 小时,以此类推。 示例 1:…

使用dbeaver导出数据csv格式要求

1.分隔符改成使用\t, 默认的会导致数字不对2.下面也要修改下,不然会出现列和值对不上情况

通过集成平台实现聚水潭销售出库单与金蝶云星辰V2的无缝对接

PACKAGE-聚水潭销售出库单对接销售出库单-1 在企业信息化系统的集成过程中,数据的高效、准确传输至关重要。本文将分享一个具体的技术案例:如何通过轻易云数据集成平台,将聚水潭奇门的数据无缝对接到金蝶云星辰V2,实现销售出库单的自动化处理。 本次集成方案命名为“PACKAG…