zoukankan      html  css  js  c++  java
  • 自我剖析(?)

    算法

    没学的就不列了。

    数据结构

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

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

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

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

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

    图论

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

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

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

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

    欧拉(?)疑似学过。

    数学

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

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

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

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

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

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

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

    动态规划

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

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

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

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

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

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

    搜索

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

    其他

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

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

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

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

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


    考场策略&心态

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

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

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

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

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

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

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

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


    关于代码能力

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

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

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

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


    总结

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

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

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

  • 相关阅读:
    nginx能访问html静态文件但无法访问php文件
    LeetCode "498. Diagonal Traverse"
    LeetCode "Teemo Attacking"
    LeetCode "501. Find Mode in Binary Search Tree"
    LeetCode "483. Smallest Good Base" !!
    LeetCode "467. Unique Substrings in Wraparound String" !!
    LeetCode "437. Path Sum III"
    LeetCode "454. 4Sum II"
    LeetCode "445. Add Two Numbers II"
    LeetCode "486. Predict the Winner" !!
  • 原文地址:https://www.cnblogs.com/mgtnb/p/12431283.html
Copyright © 2011-2022 走看看