是时候开始写点总结的东西了,有时候适当的规划还是很重要的。
这个学期开始算是真真正正开始了ACM的不归路,已经决定在这个不景气没氛围的地方开创一条新路了。
先回顾一下这个学期,本来是要搞数论的东西的,结果我现在也想不起来是什么原因我开始搞数据结构和字符串。
先看下字符串,前前后后搞了KMP,现在开始研究ExKMP,然后还有AC自动机,不过对AC自动机的理解还是不怎么好。
还剩下的就是后缀数组了。
继续搞字符串的话主要是强化对KMP和ExKMP的理解,以及结合其他知识一起训练AC自动机。
最后就是学习后缀数组,然后做各种关于前缀后缀回文串的题目。
还有一个字符串中重要的内容是字符串hash,tao哥和我说的,现在的话还不能很好的理解,不过相信强化训练之后能有所收获。
字符串
那么总结一下字符串,需要学习和强化的内容就是:
1.字符串Hash 函数和使用(主要是判重,Hash函数的话主要是131的那个,还有剩下的那两个) A
2.KMP和ExKMP(上次看到一题二维的KMP,或者说是矩阵的题目,很好,但是不会做,思维上还要锻炼,再有就是,矩阵这东西我也基本不会) A
3.AC自动机 A
4.后缀数组,首先的话,要将学习后缀数组放到前面来做,然后再做其他题的过程中,也开始做一些后缀数组的题目。 A B C D
5.后缀自动机,陈立杰的Suffix automaton,有机会学习学习他的可持续话数据结构吧。
6.再一个就是后缀树,没有见到后缀树的实现,先放着吧,以后有机会再来研究,3xian大神的杰作。
..最小表示法,这个还不知道是什么意思,貌似和KMP有点联系,需要学习一下,
..然后还有一个LCP,结合Suffix Array来一起学习吧。
找了几个需要切掉的题 A B
STL
然后一不小心就开小差了,其实也不算,是想了一些其他东西,那先写这些东西吧。
就是觉得在set、map和pair,以及二分答案方面,始终没有什么领悟,那么,你懂的。
第二个需要强化的地方就是找一些能训练set和map等STL的题目吧,紫书上好像有。
那么总结一下,STL方面需要总结的东西:
pair、set(set判重等)、map,以及BS的思想的运用等。
二分
数据结构
再来说数据结构吧,数据结构算是自己比较喜欢的东西,特别是各种树,感觉自己会各种树的话很有成就感,可以用来装B
最开始搞的是Trie,原来一直读的是Tree的读音,后来才发现这个是Try的读音,那么,就改过来好了。Trie个人认为是比较简单的数据结构,
但是可能也有用到它的地方吧,水题的话还是可以水的。
然后是Hash,这个是数字的Hash,前面是字符串Hash,现在深刻意识到Hash不好绝对死翘翘。
并查集的话,和图论放在一起吧。再一个是Huffman树,写过那么一次,现在估计也忘了,基本没见过什么题目。晕。
排序方面,现在用sort太多,基本已经不写排序了,唯独一个归并排序还写写。
这个数据结构看来还很多东西 bst,avl,splay,treap,左偏树,好多东东。。。
那么,这个阶段的东西就非常非常多了,但是一定要把数据结构拿下。(主要在平衡树,线段树上面)
要学习的内容:
1.深入学习和运用 splay,sbt 。找了半天,还是根据 cxlove 大牛的来吧 还有这个 A B
2.第二个要强化的必须是 线段树 和 树状数组 线段树搞 这一套 树状数组果断搞 这一套 还有 这个
3.Treap,这个有一篇论文可以看,看完之后结合题目搞自己模板,题目的话貌似不多,然后要记得CLJ有一个可持久化数据结构,记得看
4.还有一个是 左偏树 ,有国家队论文可以看
5.然后是 树链剖分 动态树,记得这个也有论文和Pdf可以看 QTREE解法的一些研究 留几个备用 A B
6.研究一下LCA问题。
7.至于主席树和树套树什么玩意,到时候看学习进度,还有做题的时候能不能碰到。否则先跳过
8.最后还有一个RMQ问题,我突然觉得这个应该放到前面去,以及稀疏表这种东西。
搜索
再一个是搜索,主要是复习以前的盲目搜索,然后在这个基础上开始进阶的搜索。
有空就做,没空就先不搞这个坑吧。。反正图论和数学迟早是要搞的 要切就切 这里 ,不然算了,
当然还有 Dancing-Links,论文什么的也有,就是不知道有没有时间看。
然后是数论,数学部分,现在规划不好要怎么搞,因为要考概率论,这样还是先搞点DP的东西,因为有概率DP的问题。
动态规划
动态规划部分:
1.记忆化搜索
2.概率DP 毫无疑问这个要先搞 ,用 Kuangbin 那套妥妥的,
2.最长公共子序列
3.最长上升序列
4.背包九讲(0/1、完全、依赖、分组、泛化物品) 背包问题,有那么点理解。 这套吧
5.四边形不等式优化
6.斜率优化、单调队列(1D\1D) HH大神 不知名
7.数据结构优化(线段树优化、堆优化、左偏树优化) //这个估计做题才有体会了
8.树形DP
9.自动机DP //自动机,,,,ACACAAC
10.数位DP //这个好
11.状态压缩DP //A
12.插头DP、广义插头(最小表示)
13.区间DP
这个到底要怎么搞我也不清楚了,
想了想,决定先搞
概率DP,记忆化搜索,最长公共子序列,最长上升子序列,还有状态压缩DP。
然后再搞的是背包,斜率优化,单调队列。
同时做白书上的dp题目。
中间需要夹杂自动机DP
数学部分
(突然开始吐槽自己的数学了,到了大学真的没有好好学习数学,其实以前的数学功底还是很好的,
巨无语,大一下学期居然还58分挂掉了高数,在那个我离8000奖学金仅仅有一步之遥的高数上,我的1分居然可以值4000块,
后来就没有爱了,奖学金这种东西和我没有缘分,到手的鸭子也能够随意得飞走的。
倘若我上面的部分都能够顺利得挺过来而且略有所成的话,
在数学这个部分我一定会下很大的功夫,我不承认我数学不好,但是我真的没有学好。)
突然发现可以从 cxlove 的lblog里面找到很多好题目。
数论
现在只能说是啥也不懂就知道点皮毛,用过米勒拉宾伪素数判定。
先从 AkedyCoin 开始吧,然后 A
组合数学-容斥原理 zeroclock 的 专题
计算几何
计算几何看到小媛在努力的题量我就没有什么好说的了。 就把她刷的题都刷一遍吧。
当然还有这一个。 A
回过头来我继续总结总结,临近期末了,应该说其他大学基本上都已经放假了,
从明天开始复习直到考试结束,,还剩下两科了,加油!!
关于暑假的计划,我想大概是先前往北京集训,一定好好好学习好好交流和讨论。
然后应该是先回家进行一段集训,内容的话现在已经很明确了,一个暑假我要把紫书的所有题目全部AC!
没有高强度的训练是不可能有成绩的。
再明确一点 (紫书指的是---LRJ的入门经典,大白书指的是---LRJ的训练指南)
主线任务 刷干紫书的5到11章习题和例题(1-4章跳过,12章暂时放一放)!
支线任务一 刷掉大白书的前前三章的习题和例题![刷题过程中还需要注意学习和总结]
支线任务二 刷完USACO
支线任务三 继续强化字符串 和 数据结构(平衡树操作和维护,splay,sbt,bst,treap,堆等)
支线任务四 强化,,而且是必须强化动态规划!
主线任务必完成,支线任务至少完成两个!
具体地再考虑考虑回家的情况,因为老妈在家,叫老妈多弄点好吃的补补吧。学校这地方太坑了。
具体的训练时间可能要打折扣,因为在家里可能会有一些莫名其妙的事。
具体时间,早上主要是看书,看论文,学习知识和思考为主,,下午主要是敲代码,和别人交流为主。
晚上可能考虑先出去散步,或者走走,聚一聚,回来的话要继续训练!这个暑假太重要,希望自己能够好好利用,也希望大家都能好好利用