刷题词汇简单整理

TLE(Time Limit Exceeded):如果流程没有错误就是一些隐式竞赛技巧没有用上,例如开平方。

Memory Limit Exceeded:一般这种错误在Java里就是流程没有想清楚,在Python那里有可能是一些隐式编程技巧没用上,例如隐式要求递归变DP。

递归:递归再生或者复用for循环和代码块是一种metaprogramming的思想,有一点玄,也像哲学的metaphysics。避免递归的方法该是刷iterative的树遍历。

状态转移:就是状态的转移,在小霸王游戏机的体现最为明显,只能上下左右的转移状态。

BFS:所谓广搜,例如坐公车和地铁。也有状态转移。

DFS:所谓深搜,例如爬楼梯。有状态转移。

Time Complexity:O(2n)和O(n)是一样的。所以平行的for循环不会增加时间复杂度。这个时候就可以考虑多写一点增加代码的可读性。

Space Complexity:注意哲学上空间和时间有联系。简单的说有了S(n)的空间就不会没有O(n)的时间。例如传参的时候有了n个数长的数组也是花了最少n个单位的时间组装出来的。

分治:一般是说有返回值的递归,还要造个对象才能保存叶子节点的状态返回到当前节点的上一层。简单的说还是DP。至于对象如何造就靠刷题了。道理在于递归返回到最近公共祖先节点。题目之间有联系,短时间看不出来。如何非递归做分治的题目还得想想。最简单的例子当然还是Fibonacci数列的DP。

连续:英文的consecutive,避免continuous和epsilon。刷题里一般是在说prefix tree。解题一般用prefix sum。

区间:就是小学的数学概念。但是在刷题那里要往segment tree和binary indexed tree上想。

单链表:是一个只有一个子树的树。和N叉树相对应。目前不叫树。叫链表了。有时分治的写法可以巧妙地避开反复声明变量。例如用递归做阶乘。刷题现在不考虑反复声明变量的事情。作为自己练习用。

矩阵:矩阵是个树形结构。可以是一个整齐的树,也可以前缀树,还可以是线段树。

for循环:for循环自带了ordering可用可不用。例如背包问题枚举了所有的动态所以不用对物品排序。强调ordering在Advanced Calculus 1。

总的来说,树形结构的问题清楚了就是游戏的问题。游戏里除了树人还有石头人。注意雅思有企业用的General版本。可以考虑一下。托福暂时还没有这种区分。能说就行。
#面经#
全部评论
感谢楼主整理的词汇分享
1 回复 分享
发布于 2022-10-23 21:08 陕西

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务