Some Notes

Be HardWorking Every Day.

JoyWonderful
45 文章
3 分类
22 标签

递归

写递归的要点
明白一个函数的作用并相信它能完成这个任务,千万不要跳进这个函数里面企图探究更多细节, 否则就会陷入无穷的细节无法自拔,人脑能压几个栈啊。
—— OI-wiki

递归,就是一个函数自身调用自身。递归起到类似与循环的效果。但是,与循环不同,递归可以分支。如果循环一定是一条直线,那么递归可能是树形结构。

循环 -> 递归

前面说了,循环和递归很像。那么,我们可以将 for 循环尝试转为递归。先来一个循环的示例:

for(int i = 1; i <= n; i++)
{
    printf("qwq, %d\n", n);
}

首先,让我们来想一想,for 循环的括号中 3 个语句分别是干什么的呢?

  1. int i = 1; 这是循环的初始化,定义了一个变量 $i$,将其赋值为 $1$。
  2. i <= n; 这是循环每次进行下去的条件,当 $i>n$ 时即退出循环。
  3. i++ 这是循环每次结束后干的事,当执行完循环体时, $i$ 则加 $1$。

这样回忆下来,可以发现,在 for 循环的括号中 3 个语句其实可以拆分出来。

C++ 数据范围

这就是一个随记,方便自己用的。

双指针-快慢指针

双指针其实不是真正的指针,而是有两个变量在序列上进行一些操作。
——Lqingyi(Lxandqi)

思想分类

  • 普通双指针 也就是两个普通的 for (也可以是其他的)循环嵌套。
  • 左右指针 其实就是二分搜索,一个变量指向开头,一个变量指向末尾,根据条件向中间遍历,直到指针相遇或满足某种条件。(也就是逼近答案)
  • 快慢指针 两个指针(变量)开始同时开头,但一个遍历的快,一个慢,直到条件满足或指针到末尾。

自己画的一些画

附注:

这个页面现在没意义了。
但由于它处于为数不多的“琐碎”分类,此文章将保留。

放假了闲着没事情干,便画了一些画,放在这儿,留此纪念。

一些六年级的小练笔

一些六年级写的小作文(小练笔),留作纪念。

主题:点面结合写“体检”300字以上

同学们紧张地等待着,一年一度的体检开始了。
与往常不同的是,这次体检要抽血。验血区里,紧张的气氛非常明显。我一拿到条形码(当时验血有一个条形码,用来验证身份和当作标签),就直奔验血区,怕时间长了自己会害怕。很快就轮到了我。我卷起袖子,将胳膊往桌上一放,马上扭过头闭上眼,不敢看针扎进我的胳膊里的样子。