• 2024-11-20Noip 集训 (后半)
    已经快两周没写闲话了,一想万一十几天就退役了不得留点念想啊,于是还是拾起来吧11.19上午打了困困模拟赛,不过我倒没那么困,不至于像CTH一样啃着水杯呼呼大睡开场就听大家说全不可做,于是果断【数据删除】结果再看题目,看T1的前半小时脑子里全是【数据删除】,看了十几分钟才看懂
  • 2024-11-15ybtoj——倍增问题
    A:点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintN=1e6+10;intn[N];intm,mm,nn;intmain(){ scanf("%d%d",&m,&nn); for(inti=1;i<=m;i++){ cin>>n[i]; } while(nn--){ scanf("%d",&m
  • 2024-11-13职场效率倍增!学会这6个任务管理法则轻松完成工作
    身处职场,我们每个人都在日复一日的工作中面对着不断增加的任务清单。如何有效管理、合理分配、确保准时交付,成了现代职场人最常面临的挑战之一。如果管理不当,不仅影响个人效率,整个团队也可能因此陷入无休止的混乱与低效。经过几年的职场摸索,我总结出了一些应对繁杂任务管理的有效
  • 2024-11-11倍增$dp$
    倍增\(dp\),其实就是\(dp\)有一维为走多少步,这个东西很大,没法硬枚举,恰好要求的是最值/路径和之类的东西,可将走多少步这一维\(i\)变为走\(2^i\)。注:\(long\long\)用位运算不能用\(1<<i\),要用\(1LL<<i\)(例1,例2)倍增可用于维护树上某链最值/路径和,可用来加速dp同时,树上dp不一定由
  • 2024-11-09LCA
    LCA做法千千万,但比较好用的我认为还是树剖版与倍增版,一般情况写倍增版,如果正好这题用树剖就写树剖版。倍增版其实就是用倍增处理出一个点向上跳几步是哪个点,然后求LCA时就先将深的点跳到浅的点齐平,再一起往上跳,注意不要调到公共祖先,而要跳到他的儿子处。模板LCA过程中可求链上最
  • 2024-10-31倍增求后缀数组
    倍增求后缀数组1.一些定义后缀\(i\):子串\([\text{len}(S)-i+1,\text{len}(S)]\);\(\text{SA}(i)\):排名为\(i\)的后缀;\(\text{rank}(i)\):后缀\(i\)的排名,\(\foralli>n,\text{rank}(i)=0\)。后缀数组即\(\text{SA}\)。2.求法先对每个单独的字符从小到大排序,得到每个
  • 2024-10-27倍增法 and RMQ 问题的 ST 解法
    什么是倍增?倍增,从字面及数学的角度就是”成倍增长“的意思。这能使线性问题转化为数级处理,优化时间复杂度。不是人话是不是?听不懂是不是?看这里。这是指我们在进行递推时,如果状态空间很大,通常的线性递推无法满足时间与空间复杂度的要求,那么我们可以通过成倍增长的方式,只递推状
  • 2024-10-27树上倍增下的 LCA 问题
    LCA,最近公共祖先问题。给定一颗有根树,若节点k既是节点x的祖先,又是节点y的祖先,则称k是\(\lbrackx,y\rbrack\)的公共祖先。在\(\lbrackx,y\rbrack\)的所有公共祖先中,深度最大的称为最近公共祖先,记作\(\operatorname*{LCA}(x,y)\)。\(\operatorname*{LCA}(x,y
  • 2024-10-22倍增st表
    首先,因为士兵是环形的,所以先将其拆分为链,并且每个士兵的移动位子不会被包含,所以只需要对左端点进行排序就能得到一个递增的区间点击查看代码voidinit(){cin>>n>>m;inti;for(i=1;i<=n;++i){w[i].i1=i;cin>>w[i].l>>
  • 2024-10-16【模板】最近公共祖先(LCA)倍增
     P3379P3379【模板】最近公共祖先(LCA)#【模板】最近公共祖先(LCA)##题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。##输入格式第一行包含三个正整数$N,M,S$,分别表示树的结点个数、询问的个数和树根结点的序号。接下来$N-1$行每行包含两个正
  • 2024-10-14[NOI2014] 动物园——KMP 倍增
    [NOI2014]动物园题目描述近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法。某天,园长给动物们讲解KMP算法。园长:“对于一个字符串\(S\),它
  • 2024-10-12【倍增】RMQ问题与ST表
    问题叙述RMQ是RangeMaximum/MinimumQuery的缩写,表示区间最大/最小值。显而易见的,可以用线段树写。但是我这样的蒟蒻早就忘了线段树怎么写了,而且由于该问题不涉及修改操作,所以线段树十分没有性价比。这是就需要用到好理解又好写的ST表了。算法思路ST表是用于解决可重
  • 2024-10-04CSP-S 模拟赛 32
    CSP-S模拟赛32rnk25,\(0+0+9+0=9\)。T1[CF1578K]KingdomofIslands还没改出来。T2[CF1578L]Labyrinth警钟嚼烂:改代码改干净。首先考虑如果从\(a\)走到\(b\),人最胖是多少。毫无疑问,这是一个最大生成树问题。在这个基础上考虑原问题,我们发现由于人会越来越胖,一定有边
  • 2024-10-03CSP-S 2024 第八次
    忘记写了,补一下A依次加入每个\(a_i\),拿个大根堆维护当前以\(i\)结尾的和最大子段,和超过\(s\)了就弹堆顶直到和不超过\(s\)。不过好像出现了一些语文事故,先不管了。B倍增预处理出\(f_i\)表示\(i\)上方第一个大于\(a_i\)的点,询问\(u,v,c\)时,先倍增找到\(u\)上
  • 2024-09-30倍增求 LCA
    1.树上倍增——倍增求LCA    LCA指的是最近的公共祖先,倍增法求解LCA的步骤如下。(1)预处理    a.求深度:对于每个节点dfs预处理处节点深度;    b.  求倍增祖先:计算出每个节点向父元素跳  步所到达的节点(在这里 大于整棵树的最大深度) 
  • 2024-09-29倍增
    倍增-总结序列前2题题意:https://blog.csdn.net/weixin_52536621/article/details/127104830区间分段考虑进行预处理每个数如果只能有一段到达的位置,再进行倍增,最后倍增跳跃即可。最优贸易简化版预处理每个点向后走\(2^j\)不的最小买入价格、最大卖出价格、最大收益。天才
  • 2024-09-26洛谷题单指南-分治与倍增-P4155 [SCOI2015] 国旗计划
    原题链接:https://www.luogu.com.cn/problem/P4155题意解读:在m个点的环上,有n个区间,且各个区间之间没有包含关系,计算从每个区间开始,最少要多少个区间能覆盖环上所有m个点。解题思路:本质上是一个区间覆盖问题!1、破环成链由于题目中是一个环,对于环的问题,在区间DP中介绍过,经典处理
  • 2024-09-15洛谷题单指南-分治与倍增-P2415 集合求和
    原题链接:https://www.luogu.com.cn/problem/P2415题意解读:计算集合所有子集中元素之和。解题思路:集合的特性:互异性,元素各不相同来看样例:23,可以组成的子集有空23232和3都出现2次再比如:123,可以组成的子集有空12312 13231231,2,3各出现4次由于在集合中
  • 2024-09-12Cursor:倍增工作效率的编程工具
    哪个编程工具让你的工作效率翻倍?在现代开发中,选择一个合适的编程工具能够显著提升工作效率。Cursor编译器以其简洁的界面、智能化的代码功能和灵活的插件系统,帮助开发者更高效地编写、检查和优化代码。本文将详细介绍Cursor的功能特点、使用场景,特别是它如何通过人工智
  • 2024-09-08【算法笔记】最近公共祖先(LCA)问题求解——倍增算法
    0.前言最近公共祖先简称LCA(LowestCommonAncestor)。两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。这种算法应用很广泛,可以很容易解决树上最短路等问题。为了方便,我们记某点集\(S=\{v_1,v_2,\ldots,v_n\}\)的最近公共祖先为\(\text{LCA}(v_1,v_2,\ld
  • 2024-08-23倍增
    RMQST表不用讲,浅显易懂,背背板子。例题Loj10121与众不同一个需要瞪眼发现单调性的题目。分析1.维护\(last_{val}\)表示元素\(val\)上一次出现的位置2.维护\(s_i\)表示以\(i\)为右端点的完美序列的起点,则:\[s_i=\max\left\{s_{i-1},last_{a_i}+1\ri
  • 2024-08-15矩阵系统如何助力连锁店效益倍增
    矩阵系统如何助力连锁店效益倍增对于连锁店来说,如何快速扩大品牌影响力并使发布的视频带来更大效益是至关重要的。而我们的矩阵系统可以全面管理和解决这些问题。1、多平台内容同步:连锁店通过矩阵系统实现内容在各大短视频平台的即时同步,确保品牌信息迅速传播至广泛的受
  • 2024-08-12【倍增】Rigged Games
    题意两队打比赛,大比分2b−1赢,小比分2a−1赢。给定的长度为n的串,两队比赛的每个小分结果是这个串的循环重复。问从该串的每个位置开始,最终谁会赢得整个比赛。思路倍增。首先对于每个位置,计算出它\(2a-1\)局后的比分的比分终点的位置。然后采用倍增,即假设我们要
  • 2024-08-12【单调栈+倍增】[P7167 [eJOI2020 Day1] Fountain
    【单调栈+倍增】[P7167[eJOI2020Day1]Fountain思路用单调栈处理每个圆盘溢出后流到的第一个位置,然后倍增优化。代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);
  • 2024-08-01Luogu P1613 跑路 题解 [ 蓝 ] [ 倍增 ] [ Floyd 最短路 ] [ 状压 dp ]
    跑路:绝佳倍增好题,思路是化\(2^k\)为\(1\),倍增起预处理作用。最近不知道是撞了什么运,前一脚看的是绿题,写完之后交一发,发现直接被lxl升蓝了,血赚。思路:Floyd首先观察到每次走\(2^k\)的代价为\(1\),我们可以预处理出每次走\(2^i\)能到哪些点。但为了让这题的代码更好实