摘要:
“case” 表示大小写的用法源于印刷术的历史。 在手工排版的印刷过程中,字母模具(或称字母模子)被存放在特定的木制盒子中,这些盒子被称为“case”(排字盒或字模盒)。 为了便于工人取用字母,大写字母和小写字母被分别存放在不同的盒子里: Uppercase(上排盒):存放大写字母。 Lowerca 阅读全文
摘要:
REFERENCE 5个IO模型 阻塞IO,异步IO,信号驱动IO,多路复用IO,异步IO 一个IO操作的组成 (1)发起IO请求:内核接受到IO请求 (2)执行具体的IO操作:内核执行IO操作 两阶段阻塞 第一阶段:用户发起IO请求后,内核可能没有可用的数据,用户需要阻塞等待内核准备好数据 第二阶 阅读全文
摘要:
Socket 的中文名叫作插口,咋一看还挺迷惑的。事实上,双方要进行网络通信前,各自得创建一个 Socket,这相当于客户端和服务器都开了一个“口子”,双方读取和发送数据的时候,都通过这个“口子”。这样一看,是不是觉得很像弄了一根网线,一头插在客户端,一头插在服务端,然后进行通信。 阅读全文
摘要:
最早接触这两个词其实是从电路信号中学到的, 水平触发是level trigger 一旦触发就能维持那个level. 而边缘触发edge trigger 就是一次稍纵即逝的变化. ET: 1_ LT: ____1 使用脉冲信号来解释LT和ET可能更加贴切。 Level是指信号只需要处于水平,就一直会触 阅读全文
摘要:
1. 消去作为“层数”的那一维 如果状态转移时需要用到这一层和上一层的信息,此时往往需要改变枚举顺序 例如:\(01\) 背包 #include <iostream> #include <algorithm> using namespace std; const int N = 1010; int 阅读全文
摘要:
能否当天买入当天卖出 有时候题目规定,不可以当天买入当天卖出。但我们一般情况下不必考虑这个,只需要将 \(res\) 初始化为 \(0\),确保利润不可能为负数即可。 1. 只能买卖一次 贪心选择买入时机,枚举卖出时机。 2. 可以买卖无限次 线性 \(DP\):\(f[i][j]\): \(j=0 阅读全文
摘要:
均值不等式(AM-GM Inequality)是数学中非常常用的一个公式,表示为: \[\frac{a_1+a_2+a_3+...+a_n}{n}\ge\sqrt[n]{a_1a_2a_3...a_n} \]即,\(n\) 个数的算数平均值大于等于几何平均值。该不等式成立的条件为这 \(n\) 个数 阅读全文
摘要:
一、bellman_ford 1. 是什么松弛 在《算法四》中,对松弛的解释是:relax the edge,看起来比较抽象,不过如果我们从生活中的实例去理解,就简单多了: 试想一根绳索,当你握着绳索的两头使劲用力拉伸时,绳子紧绷,长度会变长;而当你减小用力时,绳子松弛,长度会变短。当你没有用任何力 阅读全文
摘要:
110. 字符串接龙 #include <iostream> #include <cstring> #include <algorithm> #include <queue> #include <unordered_map> using namespace std; const int N = 51 阅读全文
摘要:
491.递增子序列 reference /* 未排序 + 树层去重 之前在进行树层去重时,我们都是先对元素排序,这样如果树层中的元素重复, 它们的位置一定是相邻的,因此我们可以通过 !st[i-1] 来判断树层元素是否重复 但现在我们不能对元素进行排序,该如何去重呢? 其实也很简单,对于树中的每一层 阅读全文