狂嫌浊酒难成醉
狂嫌浊酒难成醉,冷笑清诗不直钱。 霓虹闪烁,夜幕降临。窗外下着雨。我融化在酒精里,在收音机的鼓点中化作残存的意识。 我不知道我将多少次经历这样的夜晚,如先前一样,与未来相同。每个时代的人都有自己要去发愁的东西。在农耕社会,人们要担心吃喝,要担心住房;在工业刚刚起步的社会,人们开始担心薪资,担心工作环境;在如今,人们不仅担心吃喝,担心住房,也要担心薪资,担心工作环境,还要多担心很多很多新东西。从 ...
阅读更多
冷笑清诗不直钱
狂嫌浊酒难成醉,冷笑清诗不直钱。 我被困在了监狱中了,可过去的我,却心甘情愿带上镣铐,住进了这座监狱里。这座监狱像一块石头,压死了我对未来的所有希冀,对生活的那一点希望。我想饮酒,我想在空无一人的操场上大笑,我想在毫无希望的现实中,做出鲜艳亮丽的梦来。可我不能,因为我在监狱里。这座监狱是前往美好未来的钥匙,是一种与金钱挂钩的慢性毒药。 我在微弱的灯火下看着毫无生机的水泥砖块。闪烁的灯火如同我将 ...
阅读更多
Algorithms【5】:滑窗算法
前言 滑窗算法常用于序列的连续子序列的处理。通过两个指针维护一个窗口,通过一些逻辑对这个窗口——亦即一个连续的子序列——进行处理。 简单的例子:最长无公共字母的子串 这道题可以通过LeetCode 3访问,一个AC解是: 12345678910111213class Solution: def lengthOfLongestSubstring(self, s: str) -> int: ...
阅读更多
Algorithms【4】:链表
前言 链表是一个不常使用在日常软件开发中的数据结构,但是,却经常会被用于出算法题,这是因为,链表的两个元素之间是通过next指针相连,如果没有维护好这个指针信息,就会导致无法访问到某一元素。 我们一般使用单向链表,其中每个元素的结构包括一个data变量和一个next指针,前者用于存储数据,后者用于记录下一个元素的地址,C语言的表示为: 1234typedef struct LinkedListNo ...
阅读更多
Algorithms【3】:双指针
前言 双指针是一种用于解决区间问题的算法,这类算法通常的复杂度都是$\Theta(n)$。其实,我们可以将二分看作一种特殊的双指针,每次筛选掉一半的数据。同样的,双指针也可以看作一种特殊的二分,只不过每次通常筛选掉一个数据。 简单的例子:回文串的判断 这道题可以通过LeetCode 125访问,这道题的一个AC解是: 12345678910111213class Solution: def ...
阅读更多
Algorithms【2】:二分法
前言 分治法的通用步骤是:划分-求解-合并。将一个比较大的问题拆分成若干小问题,然后分别求解。分治法和动态规划的区别在于,分治法通常求解子问题之间彼此独立的场景,而动态规划用于求解子问题之间不独立的场景。这一区别将在动态规划一节中阐述。 分治法最常用的算法为二分法,也就是将问题分割为两个子问题,分别求解之后进行合并。 简单的例子:归并排序 用Python语言的归并排序实现如下所示: 1234567 ...
阅读更多
黑暗之地
一篇极其无聊的文章,我也用了极其无聊的、满是象征的写作手法。 那该胜的终将胜利, 那将死的也终将变为灰土。 生存者的呼吸, 指引着死亡之后的道路。 我在水中看见了另一个世界,水便是水本身——杯子的水、洗澡的水、镜子上的水气。只要我看向水聚集着的地方,就能看见另一个世界。碰触到水,闭上眼睛,心平气静,就能进入那个世界。 我从床上醒来,四周一片漆黑,我想打开手机,却怎么也打不开。我顺着床摸索,站起 ...
阅读更多
Algorithms【1】:算法设计与分析
前言 本系列记录我对于各种算法的理解。 本篇改自我本科课程“算法设计与分析”的笔记。本篇不通过例子讨论具体的算法。 算法复杂度分析的数学工具 算法是为了解决问题而生的,它必须有这样几个性质:可终止、有确定性、正确性、有输入/输出。算法的复杂度分析通常从两个方面来入手——时间复杂度分析和空间复杂度分析。 时间复杂度分析通常以操作的个数衡量。对于一个特定的输入来说,算法的时间复杂性是对该输入产生结果所 ...
阅读更多
Rethink AI【5】:分词与词嵌入技术
前言 计算机没有办法直接理解、存储自然语言。在AI之外的领域,字符串操作通常是以各种字符编码来进行运算的,比如ASCII码、UTF-8编码等等。在AI中,我们也需要一种利用计算机技术,将自然语言转化为计算机能够理解的表示的方法。 通常,我们会将自然语言进行两步操作——分词和词嵌入。其中,分词是指将一个句子分成若干基本单元,词嵌入则是将分割到的基本单元转化为向量。 分词 所谓分词,就是将句子变成若干 ...
阅读更多
Rethink AI【4】:Transformer模型
前言 作为NLP领域的最重要模型之一,Transformer有着强大的性能。 为什么要引入Transformer Transformer这一模型与称呼,来源于2017年的一篇论文——《Attention is All You Need》。在2017年左右,NLP领域的代表性模型无非是RNN系列和CNN系列。 RNN系列的模型的计算过程是以迭代整个序列为基础的,想要在其基础上进行并行计算是很困难的, ...
阅读更多