自我剖析(?)

算法

没学的就不列了。

数据结构

数组、队列、栈、堆 这些很常用。

树状数组、线段树 还算熟练,用也能用,就是麻烦,不喜欢。

链表、哈希表 道理我都懂,但我不会用它们,原因是不熟。

还有可持续优化数据结构像 主席树 以及字符串相关 KMP、AC自动机、字典树什么的,课我都听了,模板也打了,但是脱离模板就不会用了。

其他的一些就完全不行了。

图论

最短路还行,Floyd 最喜欢,Dijkstra也能用,但是SPFA我真的不可(不知道为什么,每次刚一弄懂,下次依旧毫无印象,可能无缘)。

拓扑排序会,但我一直不是很懂它的本质是什么,到底有什么妙用。

树相关的,树上倍增、公共祖先、树链剖分 原理都清楚,但是考场上还真不一定写得出来。

图的连通 连通分量、割点割边 同上。

欧拉(?)疑似学过。

数学

(扩展)欧几里得、两种筛(没记错是两种?)、快速幂、欧拉函数 都较熟悉,能用的。

费马小定理、中国剩余定理 一下子想不是很起来具体内容,但当初学的时候是可以的,复习一下应该也能用。

排列组合、容斥原理 可以,会用。

博弈论、数学期望与概率 我都会,但是写着的时候比较慢,要想比较久。

矩阵乘法 简单一点的还是会的,难一点就没办法自己写了。

线性规划 道理我都懂,手推可以,代码实现有点困难。

乘法逆元 这个东西我真的看了无数次也无法理解它的本质和意义,大概率无缘。

动态规划

超简单的动态规划一眼出状态转移方程的那种,我可,非常可。(虽然这种一般要优化,但是优化乱搞一通至少还有的搞,没有状态转移方程真的没得搞)

背包九讲 这个我都会,只是写的时候因为要分清楚是哪一类怎么写所以要慢一点,容易搞混,不过捋一捋也还行。

记忆化搜索 一直不知道是什么,有的时候不知不觉写出来了也不知道。

树形dp 算是我比较喜欢的dp了,大多数时候还是能写的。

状压 这个我一直觉得是玄学,但是我理解存在意义,搞不搞得出来不好说,但是敬仰绝对在。(最想拥有的技能)

斜率优化 的话,也是玄学,但是没有敬仰,就是不会用,也没有什么兴趣。

搜索

dfs、bfs 两种搜索算是会用,但是在我这还不是基本技能的存在(模拟永远第一选择)。

其他

模拟永远最爱,能模拟凑样例,绝不想复杂的算法。

贪心 会的,能贪心当然好,但贪心大多都不是正解。

分治 二分还会用,cdq分治 我觉得应该不会用。

重载运算符 用倒是会用,也挺方便,就是写的时候有点点麻烦。

STL 这种可以偷懒(在我这就是可以偷懒)的东西,还不容易错的东西,我还是比较喜欢用的(所谓保险又简单)。


考场策略&心态

一般这种时间很长还不用动的比赛,我都不会很慌。

我一般没有把题做完的目标,一定是要保证简单题拿满,难题打个暴力,能混多少是多少,多了是惊喜,少了是正常。

但是题还是都要看一遍的,难题也不是完全不写,打个暴力混分,然后还是继续看简单题,争取拿满。

目前还不会对拍,但肯定会学,毕竟简单题要拿满。

至于心态,拿去年noip比赛来说,因为第一天感觉还行,第二天又预想肯定难,所以第二天真的就没怎么认真想算法想怎么打,纯粹混了十几分。

其实如果第二天认真一点可能还是有可以多拿的分的。

所以,不要因为感觉很难,就直接放弃。

心态我倒不会崩,考完谁都不知道(考完就忘),心里祈祷祈祷运气好点,也没什么可难受的。


关于代码能力

想得出来,一般就写的出来。

只要有思路,一切都好说。

代码能力主要弱在背不到板子吧。

调试这方面还是可以的我觉得。


总结

算法掌握一般,需要加强。要多做题才行。

还是要更认真一点,不够投入。

总而言之,还是多做题多做题多做题吧。

猜你喜欢

转载自www.cnblogs.com/mgtnb/p/12431283.html