首页 > 其他分享 >2024.10.23 鲜花

2024.10.23 鲜花

时间:2024-10-23 10:33:33浏览次数:1  
标签:pre 2024.10 鲜花 color qquad 23 textbf calc mathrm

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

基础数据结构进阶

  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


标签:pre,2024.10,鲜花,color,qquad,23,textbf,calc,mathrm
From: https://www.cnblogs.com/xrlong/p/18494580

相关文章

  • [考试总结] 2024.10.23 最近的几场考试
    从2024.10.14考图论起。2024.10.14考图论T1转前缀和,跑差分约束或者贪心,贪心用[树状数组、并查集](?)实现。注意前缀和的额外限制(差分约束)、贪心实现的正确性。T2相当于连无向边,两点连通就能得到差。注意到没必要连接两个已经连通的点,于是会形成一棵树。带权并查集或者用......
  • 10.23
    CF660E长度为\(0\)的子序列的答案就是\(m^n\)。长度为\(k\)的子序列的答案为:\[m^k\sum_{i=k}^n{i-1\choosek-1}(m-1)^{i-k}m^{n-i}\]解释就是:\(m^k\)为这个子序列的样子的方案数,后面枚举的是这个子序列最后一个元素的位置,组合数是选前面\(k-1\)个数的位置。因为......
  • [技巧] 联考策略 2024.10.22
    (2024.10.22;我目前的水平)题目难度&我目前的水平T1:应当较快地做出来。但我目前很可能会在T1上花非常多时间(2h;最近两场考试);甚至做不出T1。T2:应当做出来。思维难度也许比T1低(最近两场考试),但可能还是T1要简单一些(毕竟[机房里T1得分比T2高些](?))。T3:可以尝试写部分分&......
  • 20241023
    一、博主咨询沐白情绪主升华为半导体科技重组低空传媒其他沐白情绪主升核心长虹,长虹竞价加强,一致性的加速,当前的长虹定位从趋势核心转变为连板情绪核心,没有先手不太好追高,锚定长虹作为情绪标,去做后排康佳、创维的套利,而明天如果大科技延续分歧,长虹需要接受放量分......
  • 2024.10.20心有错做题笔记
    赛时:\(60+50+0+0\)A.bookstore题意:\(m\)套书,\(n\)本书。要求选出两个交集为空的套书的集合,使得两集合中出现的书的种类相同。见到二元组,显然考虑连边。然后发现若有偶环必定有解,01交替染色即可。然后发现剩下来没环和奇环都无法成功。难点在于判偶环。显然可以搞出搜索树......
  • 代码随想录算法训练营day22和day23 | 77. 组合 216.组合总和III 17.电话号码的字母
    学习资料:https://programmercarl.com/回溯算法理论基础.html回溯法backtracking:for循环控制递归数量,暴力搜索:组合、切割、子集、排列、棋盘今天学了组合和切割可以画个N叉树的图来帮助理解回溯过程组合又包括1.单个数组(要加startIndex参数)或多个数组;2.数组内有无重复元素;3.数......
  • 20222306 2024-2025-1《网络与系统攻防技术》实验三实验报告
    1.实验内容1.1实践任务(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧(2)通过组合应用各种技术实现恶意代码免杀(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本1.2问题回答(1)杀软是如何检测出恶意代码的?杀软检测......
  • P9751 [CSP-J 2023] 旅游巴士 题解
    思路首先,举一个例子,假如说小Z到了入口,但是没到时间,所以没法进去,该怎么办?当然是等$k$个时间单位呀.除此之外,像到了其他景区,但是还没开门怎么办?继续等$k$的非负整数倍时间呀.知道这个后,我们先定义状态$f_{i,j}$,表示到达点$i$时,路径长度(即时间)$mod$$k$的最早时......
  • 2024.10.22 鲜花
    列表题解你从未离去浩瀚星空里只剩你的背影银河已凝结成冰记忆滑过泪滴想象能回到过去终会存在我心底虽然逃避她消失在梦里日出的幻境再次感觉到你风送来你的呼吸月色倒映着惊喜原来你从未离去默默守护在这里无声无息如影随形我不再迷茫思念是唯一的行囊漫......
  • 20222304 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    一、实验内容1.1知识回顾堆栈结构和堆栈变化EIP:存储下一条指令;EBP:栈底指针;ESP:栈顶指针。栈溢出的三种方法:修改栈中邻接变量;修改函数返回地址;代码植入。shellcode构建RET返回地址;NOP空(0X90);shellcode调用shell;NSR模式;RNS模式;RS模式缓冲区溢出的防范技术源程序检查:静态检......