简述
寒假学了图论与数论,这些内容并不简单,但毕竟由本校大佬总结出的精华,由于时间较短,很多地方来不及实现,因而这些题目大多都没有时间去实现。题目没有那么简单,基本上一道题很难想到正解。确实对于我自己而言是一次挑战。两次考试的成绩并不理想。但经过这么多天的时间的学习,可以说在脑中形成了一种数论及图论的框架,至于其中一个个分支,一个个细节的完善就需要自己课下来进行练题了。
图论
最短路
最短路自己是有过学习的,最短路算法自己是可以打出来的,算法固然是一个模板,我们需要利用这一模板自己构造,才能达到做题的目的。就比如说需要求次短路,我们则需用另一个数组来保存。需要令最大路径最小,我们则需要改变松弛条件。
同时呢,也有一些题,用一般的最短路是无法做出来的。我们则需要找边与点的特殊性质,利用这些性质来达到修改算法的目的。
有的题目,题目条件不明显,我们几乎都联想不到最短路,因而就有难以解答,一些隐性题目,我们在未有思路的情况下还真的要仔细分析一下条件。
很多题目还没有做,做题其实也就是熟悉与运用最短路算法的过程。
最小生成树
算法还是熟悉,但一遇到题目却是不能够快速想得出来。
最小生成树有着许多的变形,如次小生成树,最小方差生成树,如遇此类题目,我基本就只会暴力枚举了。因题而异,我们需要枚举一些特殊的值如树边,权值。
最小生成树也是有很多性质的,做题的时候我们如需更改生成树,其实就可以从性质出发来进行考虑,这样才能达到效果。
依旧很多题没有刷。
LCA
LCA算法其实不少,一些算法呢,也有很多新的东西,如什么欧拉序,还有rmq算法。可以说是比较难以理解的。
一些算法有自己的性质,我们需要根据题目来确定算法。暴力算法好写,也适用于一些特殊的树,倍增算法可以很好处理树上路径。tarjan能够一些求出所有点对的lca。各种算法有各种特性。
树DP
树DP其实本人看来略微偏向于DP了,只不过是利用树这一个结构来进行状态转移,利用树形结构来进行DP。树这个结构,根据题目其实有着诸多性质,根据性质出发来进行构思是一个基本思路。
当然DP的基本功是不能差的。作为图论中的一部分,很多地方与其他的算法有着交叉,可以说是综合能力的体现。
一个图,在有些时候其实处理数据是十分困难的,抓住条件就非常重要。
考试&总结
题目是都涉及到了近日所学的算法,还是没能够举一反三。题目有比较隐晦的,构图还是没有问题。题目条件的考量还是没有分析到位。边、点的一些性质考场并未推出来。
个人认为有几个方面在解图论题时是十分重要的。
- 算法
- 性质
- 构图
- 优化
说起来很简单,但实现却是长期的过程。况且图论范畴很广,一些内容我还并未接触。
数论
可以这么讲,一些证明题目课堂上几乎没懂...幸好,课下来自己想了一下,才明白了其中道理。
数论的证明固然重要,但其实更多的是性质与算法,可以说算法的实现与性质的运用才是数论的重点。
大致列举一下这几日所学的数论内容:1.质数,整数分解,积性函数;2.埃拉托斯特尼筛法及欧拉筛。3.同余及辗转相除法;4.剩余类,剩余系,完全剩余类,简化剩余系及欧拉函数;5.欧拉定理,降幂公式,费马小定理,二次探测定理,威尔逊定理,素性测试;6.二元一次不定方程的解,拓展欧几里得,欧拉函数解,以通解求特解。7.逆元,费马小定理求逆元,拓展欧几里得求逆元,模数为素数时,递推求逆元;8.拉格朗日插值法与中国剩余定理(CRT);9.高斯消元和异或线性基。10.组合数;11.杨辉三角和二项式定理;12.预处理阶乘,lucas定理,CRT建线性同余方程,legendre定理质因数分解阶乘----求组合数。
不得不说学的东西不少了,而且很多都是新的内容,自己也有部分内容未掌握。
数论没什么好说的,考试的时候需要推,公式代码也要记得住,证明过程最好要理解。考试也许就靠着平时的证明训练来帮助我们想性质想算法了。
至于考试呢,有一个换行符的问题,其实我觉得这个无关紧要,就算有这一个测评的问题,我还不是没有一道题AC,那还是没有什么意义。能真正做得出题目才是最为重要的。考试也不能光靠骗分。
第一题其实就考的计算了,一些方式方法都说明完了,然而自己依旧没算出正解。
第二题题目数据多样,考试的时候想到了递推和legendre定理,当时选择前者,虽然我知道只过得了部分数据。结果发现legendre定理+优化是正解。
第三题完全是题目性质题,发现这一个最大生成树的边的性质就很水了。
第四题综合题,当时被数据吓到了,结果发现似乎用积性函数,管它数据多大。
总结
- 自己的基础并不出众,很多题目难以想到正解
- 课下实现代码花的时间不够多
- 分析题目的时候不全面,条件性质要漏掉。
- 对于自己想到的算法犹豫太久,浪费时间。
规划
- 上课认真听课,多动笔去计算。
- 课下积极实践消化上课时的内容,效率要高。
- 多加练题,多想一想题目,自己分析条件来做。别人的思路理解起来始终慢一些。
- 要能够举一反三,真正理解老师的题目
- 模板还是要能够打得出来,并且自己也要能够因题修改
flag就不立了。寒假的内容还有很多需要我去消化。不过从去年提高组的成绩来看,我也自然希望今年的省一。