OI知识精讲
本专栏将会收录本人详细讲解的OI知识,方便自己复习,也方便各位查询和使用或是学习。
cggwz
这个作者很懒,什么都没留下…
展开
-
【含二分精讲】通往奥格瑞玛的道路(二分+最短路)
英灵召唤我们先来看看二分答案有什么特征。首先,既然是二分答案,那么我们的答案通常是一个数值(也可能有其他情况吧,如果有,麻烦各位指出,当然我说的一个数值并不是题目要求的数值的数量,而是我们二分的目标),这样我们才可以称得上是二分答案。但是不是所有的这样的目标都可以进行二分。我们来看一下二分模板:while(l+1<r){ int mid=(l+r)/2; if(judge(...原创 2019-07-05 23:06:41 · 124 阅读 · 0 评论 -
最近公共祖先详解
其实是假的。这个,老早就学过了,但是显然由于当时理解得不透彻,很快就遗忘了。今天,做了一份模拟试题,第一题就是LCA,汗!没办法,只好温习,终于理解透彻了。最近公共祖先,顾名思义,就是指求树上两个点的第一个公共祖先,或者说是深度最大的公共祖先。求这个有什么用呢?一个常见的用途就是求两点简单路径。有人可能说,这不简单吗?我们把两个点调整到同一个高度,然后一个一个往上找,不就好了?简单的...原创 2018-11-06 21:40:41 · 261 阅读 · 0 评论 -
Perm排列计数(bzoj2111)
2111: [ZJOI2010]Perm 排列计数Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 2686 Solved: 811[Submit][Status][Discuss]Description称一个1,2,…,N的排列P1,P2…,Pn是Magic的,当且仅当2<=i<=N时,Pi>...原创 2018-07-20 23:01:31 · 588 阅读 · 0 评论 -
A Magic Lamp(HDU3183)
换OJ祭上面是题目链接。 这道题怎么做呢? 我们的思路是一个一个确定 因为我们并不能改变顺序 而且我们知道,对一个数大小影响最大的,是第一个数字 其次是第二个数字,依次往后 所以我们要尽可能是高位的数字变小 所以我们也是由高位到低位确定 如何确定呢? 我们举个例子,比如我又一个长度为10的数字,我可以删除3个数字 那么我的ans一定是长度为7的数 那么...原创 2018-07-18 23:05:44 · 373 阅读 · 0 评论 -
一句话算法:最大生成树(北大三日游前纪念)
我们先一句话把最大生成树说完:很简单,把所有的权值设置成负的,扔入kruscal即可。(显然权值全为正的情况) 明天,我的北大三日游就要开始了。 高兴?紧张? 不知道,已经没感觉了,反正我的目标是清华 尽力做好就行了,也算是为未来积累经验。 游记是少不了的,回来当天就会发! 当然与游记一起发的还有我这几天来复习准备的每天学习记录,供未来参加暑期课堂的朋友们参考。 敬请期待!...原创 2018-07-26 20:22:12 · 1923 阅读 · 0 评论 -
树状数组升级版(二维树状数组)
二维树状数组详细解释原创 2017-11-01 23:30:31 · 2934 阅读 · 2 评论 -
基础算法——枚举
今天我们就来看看神奇的枚举。定义?日常问号定义。 什么叫枚举? 就是指,尝试所有可能解,从而得出哪些是可行解。 举个栗子。 你想知道你的girlfriend(boyfriend)喜欢什么东西,那就可以尝试送给她(他)所有的东西,比如说花、音乐盒、跑车、房子、钱(嗯嗯嗯?画风不大对啊)。反正你能想到的(比如把你自己送给Ta)都试一下,然后你就可以知道Ta喜欢什么了。 很不现实,...原创 2018-04-06 21:46:15 · 304 阅读 · 0 评论 -
狐假虎威的树链剖分
最近在做运输计划这道题时,发现要用数链剖分,于是就打算学学这个玩意儿。 其实之前一直以为这个东西是个很复杂的东西,可能代码看起来都很长。 但是,学了之后,我才发现,这个东西很好懂,而且代码之所以很长,也有一个原因就是它需要使用一个强大的数据结构——线段树。线段树的代码其实并不算少,这个,学过的人,都应该知道,没学过的人,不妨看一下:线段树 所以,我称之为狐假虎威。 那么,下面就让我为你们揭...原创 2018-06-17 21:42:33 · 376 阅读 · 0 评论 -
基础算法——模拟
定义?例题金币神奇的幻方玩具谜题总结 模拟,几乎每个熟练一些的OIer都会(如果你不会,那就继续往下看,如果你会了,那就看看我的别的博客吧!),但是为了复习,我还是简单的做一下讲解。定义?为什么打个问号?因为这玩意的定义没有什么意思,何况我也不是喜欢从别的地方抄定义的人,我们只要明白模拟是干啥的就行了。 那么,什么是模拟呢? 就是按照题目给的操作,用...原创 2018-04-05 22:09:13 · 10254 阅读 · 0 评论 -
简单的动态规划题
实践是检验真理的唯一标准。一起来在实践中学习吧!原创 2017-12-16 22:20:41 · 399 阅读 · 0 评论 -
练习一:数字三角形
经典题目:数字三角形解题思路详解滚动数组福利!原创 2017-12-16 23:29:17 · 932 阅读 · 0 评论 -
动态规划感知
动态规划的基础的基础的基础原创 2017-12-08 22:40:35 · 263 阅读 · 0 评论 -
树状数组趣解
让我cgg用最生动的语言为您讲解有趣的树状数组原创 2017-08-04 23:00:43 · 555 阅读 · 0 评论 -
树状数组进阶(区间修改+单点查询)
树状数组的区间修改和单点查询原创 2017-10-28 23:54:42 · 813 阅读 · 0 评论 -
树状数组再进阶(区间修改+区间查询)
树状数组(区间修改+区间查询)原创 2017-10-29 19:06:49 · 359 阅读 · 0 评论 -
谈笑风生线段树(点修改)
线段树的点修改+区间最大值/最小值/和查询原创 2017-10-30 23:17:06 · 403 阅读 · 0 评论 -
谈笑风生线段树(区间修改)
线段树的区间修改(加值,改值,加等差数列),区间最大值、最小值、和的查询原创 2017-10-31 00:00:53 · 905 阅读 · 1 评论