随笔分类 - C++算法
讲述各种单个算法的文章
摘要:线段树这个算法,看起来非常高端,而且很有用处,所以还是讲一下下吧。 温馨提示:写线段树前请做好写码5分钟,调试一辈子的准备^-^ 啊直接步入正题…… 首先我们考虑一个题目:有一个序列,要做到单点修改单点查询,该怎么做呢? 同学们先不要着急关掉……我们细细分析,像这种题,明显大家都知道……直接暴力就过
阅读全文
摘要:来看题板,这个题大体意思就是,在一个图上,选ABC三个点,然后连接起来,而且在min(AC,BC)+AB的情况下,路径最长是多少? 经过一波缜密的斯烤,我们可以得出一个显而易见的结论“AB一定是树的直径!”(啊一点也不显而易见……当时为合理性纠结了好久……) 啊因为没有任何解释,大家不免会对合理性产
阅读全文
摘要:最近开始学差分约束系统了,讲课时检验学习程度的一个好方法,于是我就在博客园试图讲一讲。 首先,我们要知道差分约束系统是什么: 如果一个不等式组由n个变量和m个约束条件形成,形成m个如a-b<=c(c是常数)的不等式,我们就称他为差分约束系统。 说简单点,差分约束系统就是求解一组符合不等式组的变量。
阅读全文
摘要:话不多说先看题板: 题目背景 《爱与愁的故事第四弹·plant》第一章。 题目描述 爱与愁大神后院里种了n棵樱花树,每棵都有美学值Ci。爱与愁大神在每天上学前都会来赏花。爱与愁大神可是生物学霸,他懂得如何欣赏樱花:一种樱花树看一遍过,一种樱花树最多看Ai遍,一种樱花树可以看无数遍。但是看每棵樱花树都
阅读全文
摘要:隔壁的dgdger带我看了看老师的LCA教程,我因为学习数学太累了(就是懒),去水了一下,感觉很简单的样子,于是我也来写(水)个博客吧。 题目描述 某市调查城镇交通状况,得到现有城镇道路统计表。表中列出了每条道路直接连通的城镇。市政府 "村村通工程" 的目标是使全市任何两个城镇间都可以实现交通(但不
阅读全文
摘要:最近没有更新博客,全是因为英语,英语太难了QWQ 洛谷春令营的作业我也不会(我是弱鸡),随机跳了2个题,难度不高,还是讲讲吧,学学新算法也好(可以拿来水博客) 第一题就是这个小明的游戏 小明最近喜欢玩一个游戏。给定一个 n×m的棋盘,上面有两种格子#和@。游戏的规则很简单:给定一个起始位置和一个目标
阅读全文
摘要:题意简单明了(这就是个模板)。 就是让我们找2个节点的公共祖先而已,但我们要讲的做法不是生硬的爆搜,而且直接搜好像过不去…… 这次就讲我往后拖了n多天才开始学了倍增LCA。 嗯,这个题,如果2个节点的深度是不一样的,我们要把他们的深度变成一样的,变成一样的以后就开始倍增搜索。 上面的这句话为我们点明
阅读全文
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某区间每一个数加上k。 求出某区间每一个数的和。 输入格式 第一行包含两个整数n,m分别表示该数列数字的个数和操作的总个数。 第二行包含n个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来m行每行包含3或4个整数,表示一个操作
阅读全文
摘要:RMQ问题是区间求最值问题,就是求一个数组第i个到第j个中最大数或最小数的算法。 这个算法有一些倍增思想,也有一些二分思想。具体是一个数组,m[i][j]表示从i开始往后数2的j次方个数的最大值或最小值是几。 我们可以很明显的看出,m[i][j]=max(m[i][j-1],m[i+pow(2,j-
阅读全文
摘要:有一个同学推荐我写一下广搜,广搜在最短路(骗分)上确实也有突出贡献,普及组应该也会考到,我今天就给要考普及组的同学讲讲课,今天讲广搜。 广搜,把可以走到的地点存进队列,然后一个个走,所以他第一次走到一个点时的步数,一定是开始位置和这个点的最短步数,因为他会把所有路径都加进去,所以第一次碰到的一定是最
阅读全文
摘要:这个东西恶心了我一阵子,那个什么是什么的上一个一直是背下来的,上次比赛忘了,回来有个题也要用,只能再学一遍,之前也是,不会为什么不学呢。我觉得是因为他们讲的不太容易理解,所以我自己给那些不会的人们讲一讲。 首先,链式前向星存图用3个变量,一个数组。3个变量分别是,zd:路径的终点,cd:路径的长度,
阅读全文

浙公网安备 33010602011771号