0%

Church Numbers are the union of natural numbers which are represented by lambda functions.

Math

Think that we need to use function to represent numbers, what method should we take?

The way to describe numbers by church numbers is that:

$0:x$

$1:f(x)$

and so on

So we can use codes to represent them easily by just call the function we need for the numbers times.

阅读全文 »

排序

快速排序

基本思路是,先选择一个基准x,然后根据这个基准来从两边进行判断,这样分成两部分,一部分比基准x小的,另一部分是比基准x长的。
然后再分别对这两边部分递归的进行快速排序,最终会得到一个排好序的数组。
时间复杂度:
最好:$O(nlogn)$ 最坏:$O(n^2)$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def quick_sort(q,l,r):
if l >= r:
return q
x = q[l]
i = l - 1
j = r + 1
while i < j:
i = i + 1
while q[i] < x:
i = i + 1
j = j - 1
while q[j] > x:
j = j - 1
if i < j:
q[i],q[j] = q[j],q[i]
quick_sort(q,l,j)
quick_sort(q,j + 1,r)
return q
阅读全文 »

Go语言入门

第一个hello world

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
fmt.Println("hello,world!")
}

注意go语言中{}不能单独在一行写出,例如

1
2
func main()
{}

是不允许的。
同时注意,我们导入了fmt这个包,但是像fmt.Printf这种形式的变量才能够被外部访问:
只有标识符为大写字母开头的才能被外部变量引用(like public),而小写字母开头的标识符对外是不可见的(like private)

阅读全文 »

学校(UESTC)那边也让大家提交了短期交流的一些心得体会,但是我向来是不希望被人所拘束着去写一些东西,所以那一篇直接让GPT生成了。因此便有了这一篇游记(流水账)。

打算就按照时间线来回顾以下在新加坡国立大学(NUS)的经历吧。

7.4 Departure to ChongQing

由于国际处的拖拉,我们并没有买到从成都直飞的航班,而是前往重庆进行转机,同时由于航班的阴间时间,我们还要在重庆住一晚(:

本来还有去洪崖洞等的有名地方故地重游一次的打算,结果到重庆也都到晚上了,酒店还在机场旁边,遂直接睡觉了(

(7.4在酒店旁边吃的火锅,重庆火锅还是好吃的)

7.5 Departure to Singapore

困困困困困,一大早就起床赶飞机了,不是所有人都见过早上4.00的重庆

阅读全文 »

本文准备跟着b站小土堆的pytorch教程系统地再熟悉一下pytorch的操作,去年这时候就打算跟着小土堆的教程来看,结果又鸽了(还有个原有就是当时太菜了,根本看不懂),今年决定好好的看完做完。
建议学时:18h

Pytorch环境安装

略,本台电脑上面没有NVIDIA的显卡,所以在官网安装了pytorch的CPU版本。

如何查看包中某些函数如何使用

1
2
dir(torch)
help(torch.cuda.is_available)

help()函数输出的是官方文档的解释内容

或者直接ctrl+单击到不知道的函数上就行了(前提是你知道这个函数叫啥,建议边学边查文档)

阅读全文 »

介于听说去年新高考一卷数学难度很高,今年全国高考结束后,笔者便想着做一做新高考一卷的数学,顺便锻炼一下LaTeX的写作能力(主要还是没事干,ddl都延期了)

以下是后四道大题的题目与题解:

T19

已知函数 $f ( x )= a ( e^{x} + a )- x$.

(1)讨论 $f ( x )$的单调性;

对于$f(x)$求导,有:

$f^{’}(x)=ae^x+1$

显然,$a≤0$时,$f(x)$单调递减

$a>0$时,在($-∞$,$-Ina$)上$f(x)$单调递减,在($-Ina$,$+∞$)上$f(x)$单调递增。

阅读全文 »

Python装饰器用过吗,是什么?

是的,我熟悉Python装饰器。在Python中,装饰器是一种特殊的函数,用于修改其他函数的行为。装饰器函数接受一个函数作为输入,并返回一个新的函数或修改输入函数的函数。

装饰器的语法使用@符号将其应用于函数,放置在被装饰的函数的定义之前。当你调用被装饰的函数时,实际上执行的是装饰器函数返回的新函数或修改后的函数。

下面是一个简单的装饰器示例,展示了如何在函数调用前后打印日志信息:

阅读全文 »

AES算法的实现与应用

算法背景

1.发展过程

高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是目前应用最广泛的对称加密算法之一。AES算法背后的历史可以追溯到20世纪70年代,当时IBM和美国国家标准技术研究所(NIST)共同研究了一种名为Lucifer的加密算法。Lucifer是一种基于分组密码的加密算法,它的分组长度为64位,密钥长度为128位。随着计算机技术的发展,这种加密算法逐渐被认为是不够安全的。

阅读全文 »

在一个只有300张的数据集,100张验证集的dataset上玩一玩(主要是熟悉一下代码,李沐的课程代码都在d2l中很少自己手写代码)

本项目为二分类问题,为了分别ants和bees:

创建Dataset

阅读全文 »

Python基础

输入和输出

输入:input

1
name=input()

用input()进行输入的时候输入的是一个字符串类型,要是想输入一个数字可以这么操作:

1
2
3
4
5
6
age =input('your age=')
age1=(int)age
if age>18:
print('adult')
else:
print('not adult')
阅读全文 »