- huanghaoran 的博客
CSPJ初赛学习第四天
- @ 2026-7-10 11:12:24
模拟五六八
反思:
给一段代码,问你用什么数据结构:
- 给定一个结构体,答案就在结构体的名字和数据里
- 不给定义,那答案在函数调用过程中。常考的:递归,DFS,树或图的遍历(栈)。BFS(队列)。
时间复杂度:
- 对数阶:如果每次问题规模缩小一半,通常是O(logn)。看到“范围减半”“每次乘2或除2”,更特殊的,进行二进制分解也属于,不一定直接显示出来这个增加/减少的过程。注意这是单次操作的
例如说,倍增算法里涉及到的快速幂
递归函数:如果一个递归函数每次只调用自己一次,并且参数每次减少1,O(n)。参数每次减少一半,O(logn)。如果一个递归函数每次只调用自己两次,并且参数每次减少1,