随笔分类 - 算法
摘要:有的时候通过二分答案可以很容易的得到答案,所以我们考虑将所有的操作和询问离线下来,对整体进行二分,从而实现问题的求解。 在处理问题时,一个操作或询问一般只会对二分的左半边或者右半边中的一个做贡献,所以单层的操作数是线性的,全局的操作数是线性对数的,保证的询问的复杂度。 [国家集训队]矩阵乘法 给定一
阅读全文
摘要:有的时候,我们需要维护删除操作,而有很多操作是不支持删除或无法快速删除,我们就考虑将所有的操作离线,在时间轴上建线段树,将一个操作和他的删除看作是对于时间轴的有一段区间的操作。 这样,我们就可以更加方便地维护某些操作的删除了。 #### [二分图](https://www.luogu.com.cn/
阅读全文
摘要:有些时候,对于某一个数列(或者串等其他东西),我们可以使用DP判断其是否合法。 于是有毒瘤人们就会想到一种题目,对于这种需要用DP来判断是否合法的东西,能不能对其进行计数呢? 对于有些是可以的。 我们考虑一下:因为DP本来就是一个有限状态自动机,也就意味着转移和状态数都是固定的,如果我们把状态通过编
阅读全文
摘要:贪心是一种常用的算法,它能够获得局部最优解,但我们往往需要的是全局最优解,所以我们在贪心的时候加入和反悔的机制,让他能够得到全局最优解。 由于网络流中的退流操作本质上也是反悔贪心,所以在实现反悔贪心时类似费用流的,也会被成为模拟费用流。 一般的实现时在贪心之后加入一个和贪心值相反的值或重构问题使得变
阅读全文
摘要:NOIP考前攒rp。 图论是是数学的一个分支,图是图论的主要研究对象。图 (Graph) 是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。(这段话是摘抄的) DFS(Depth Firs
阅读全文
摘要:NOIP考前攒rp,希望HB不要G。 有很多题目,看似是不可实现的,比如 的量级,严格处理的复杂度是 或者 的。没法在合规的时间里解决,这种情况一般会在证明之后直接得到最优解——这种策略就称作贪心。 当然,也有的时候贪心是用来
阅读全文
摘要:线段树,是信息学比赛中一种强有力的数据结构; 动态开点,让线段树在数据范围上挣脱了束缚; 线段树合并,让树上问题获得了升华。 前言 线段树合并的基础——动态开点线段树 在初学线段树的时候,一般都会开四倍空间,并且根据二叉树的特性,让左右孩子是右移一位和右移一位加一。 但假如说题目变成这样: 请你维护
阅读全文
摘要:动态规划,是OI中极其重要的一环。 由于它的重要性,解决问题的广泛性,它衍生出了多种多样的DP。 其中,有一种特别搞人的叫做数位DP 思想 数位DP是通过每一位数字去递推,来统计从在 中,有多少个数满足条件或者有多少种满足某一条件的方案数。 由于有一个统计的上界,所以对我们的DP会有
阅读全文
摘要:动态规划算法(简称动规,DP),是IO中最为常见的,也是最为重要的算法之一。这也就意味着,在各种题目与比赛中它会有很多稀奇古怪的算法和优化,时不时地在你的面前出现一个TLE,MLE和RE来搞你的心态。 ##所以,对于DP的优化是尤为重要的。 那么首先我们要看一看我们DP都做了些什么: DP(个人认为
阅读全文