avatar
Articles
300
Tags
46
Categories
8

Home
Archives
Tags
Categories
About
Yuchen You
Search
Home
Archives
Tags
Categories
About

Yuchen You

自然演绎法
Updated2024-06-10|math|discrete_math
基本概念 我们需要有一组规则,每一条都允许我们在特定的前提下得到下一个结论 推断 infer 前提 premise ϕ1,⋯ ,ϕn\phi_1 ,\cdots,\phi_nϕ1​,⋯,ϕn​ 结论 conclusion ψ\psiψ 矢列 sequent 文字 literal: 原子命题或其否定 子句 clause: CNF 的每一个析取向 自然演绎规则 合取引入规则 conjunctive introduction 在分别得到结论 ϕ\phiϕ 和结论 ψ\psiψ 的前提 下推导出结论 ϕ∧ψ\phi \land \psiϕ∧ψ. 这个规则写为 ∧e\wedge e∧e 前提是证明两个结论各自分别正确 合取消去规则 conjunctive elimination 在已知 ϕ∧ψ\phi \wedge \psiϕ∧ψ 的条件下有 ϕ\phiϕ 与 ψ\psiψ 各自成立,分别写作 ∧e1,∧e2\wedge e_1, \wedge e_2∧e1​,∧e2​ 双重否定规则 double negative rule 对于双重否定我们可以得到其本身 蕴含消去规则 modus ponens ...
数列递归和矩阵
Updated2024-06-10|math|discrete_math
从斐波那契说起 对于斐波那契公式,我们有 an+1=an+an−1a_{n+1} = a_n + a_{n -1}an+1​=an​+an−1​ 那么我们可以写成矩阵形式: [an+1an]=[1110][anan−1]\begin{bmatrix}a_{n+1}\\a_{n}\end{bmatrix} = \begin{bmatrix}1 &1\\1& 0\end{bmatrix}\begin{bmatrix}a_n\\a_{n -1}\end{bmatrix} [an+1​an​​]=[11​10​][an​an−1​​] 设 vn+1=[an+1an]v_{n+1} = \begin{bmatrix}a_{n+1}\\a_n\end{bmatrix}vn+1​=[an+1​an​​] 且我们有 A=[1110]A = \begin{bmatrix}1 & 1 \\ 1 & 0\end{bmatrix}A=[11​10​] 那么应用递推我们得到的是 vn+k=Akvnv_{n + k} = A^k v_nvn+k​=Akvn​ 我们自然而然就会想到 ...
基本结构:集合、函数、序列、求和、矩阵
Updated2024-06-22|math|discrete_math
集合 集合的特性 集合元素各不相同 distinct 对于多集合 multiset 是可以存在重复的集合内元素的 元素没有顺序区别 unordered 两种表示法可以相互转化 (枚举/描述) 基数 Cardinality 表示集合的尺寸,或者说集合内元素的数量 表示为 #A\#A#A 或者 ∣A∣|A|∣A∣ 或者 cardA\text{card}AcardA 集合之间的关系 包含(子集) Inclusion (subset) 符号: ⊆\subseteq⊆ 或者 ⊂\subset⊂ 定义: A⊂B⇔∀x∈A→x∈BA\subset B \Leftrightarrow \forall x \in A\to x\in BA⊂B⇔∀x∈A→x∈B 不包含: ⊄\not\subset​⊂ 或者 ⊈\not\subseteq​⊆, 定义 ∃x∈A,x∄B⇒A⊈B\exists x \in A, x\not\exists B \Rightarrow A\not\subseteq B∃x∈A,x​∃B⇒A​⊆B 性质 A⊆AA\subseteq AA⊆A 集合包含自身 ...
模板 template
Updated2024-06-10|cpp|cpp_basic
容器 container 功能:包含一定数据或者对象,没有本质定义 多次重复的使用某些代码,对象是不同的数据类型,我们称其为 polymorphism 或者 polymorphic 因此我们需要使用一个叫做 template 的东西 模板 template 每一个模板只能使用一个数据类型的数据,但是模板可以有多种数据类型的应用。 这个的处理是将类型名称作为编译过程的一个参数,同时这是一个参数泛化的一个实现 实现代码如下: 12345template <class T> // 前面我们学过了,class 就是一种 ADT,或者说 c++ 就是将 type 认作是 ADT 的一种class List{// 在这里面我们可以用 T 表示任何数据类型 void foo(T a); // 但是 declaration 里并不需要 List<T>}; 接下来我们需要讨论的就是每一个成员函数的定义了,如何实现? 1234// 每一个成员函数前面 (如果该函数用到了 template) 都要写 template 这一行template <class ...
类 class
Updated2024-06-10|cpp|cpp_basic
面向对象程序设计 OOP 我们在过程性编程中,一定会存在以下问题:对象进行不同的操作,遵循一定的时间顺序。 我们还会发现用户和数据的交互方式有三种,初始化、更新和报告(就是我们所谓的用户接口) OOP 的方法就是从用户的角度考虑对象,描述对象所允许的操作 抽象 abstract 基本类型解决的问题 决定数据对象需要的内存数量 决定如何解释内存中的位 (换言之就是解决编码问题,例如 long 和 float 的占用空间一样但是 编码方式不同 决定可以使用数据对象执行的操作和方法(比如 int 和 float 的计算方法不同) 类的使用 访问控制 一般访问私有变量是使用 成员函数 或者 友元函数 设计思路 一般类的设计尽可能将共有接口和实现细节分开,公有接口表示设计的抽象组件 封装 encapsulation 将实现细节 ( implementation ) 放在一起并且将他们于抽象分开的过程被称为封装 什么是接口 api ? 接口是一个共享框架,供两个系统共享的时候使用,类是一种公共接口, public 是使用类的程序 类和结构体 结构体的所有变量访问类型是 public 类的默认 ...
链表结构 linked-list
Updated2024-06-10|cpp|cpp_basic
成因 优点 申请空间、释放空间相对于动态数组更加容易 缺点 获取链表中的元素写法相比数组更加复杂难搞 需要专门的迭代器进行获取 nullptr 和 NULL 的使用 在 C 语言中我们并没有 nullptr 的指针,这是 cpp 的新增特性。 在编译器看来,NULL 和 nullptr 在事实上都是 0 ,也就是说,我们可以通过 if(ptr) 来判断一个指针是不是 nullptr。 我们可以通过 cout 来获得这些 nullptr 指针的指向内容,代码如下: 123456int *a = nullptr;std::cout<<a<<std::endl; // 这里显示是 0std::cout<<*a<<std::endl; // 这是不被允许的,会显示 segmentation fault (core dumped)*a = 0; // 编译器会报错char *p = NULL;std::cout<< (p == (char * )a) <<std::endl; // 这里显示是真,说明这里的地址指 ...
280 复习
Updated2025-01-14|cpp|cpp_basic
函数重载 function overloading 静态多态 static polymorphism: 在某个类内部的函数进行重载,在编译的时候生成 动态多态 dynamic polymorphism: 虚函数机制,在运行的时候进行重载,不同类 函数重载 定义:相同名称但是不同的参数数量或者参数的数据类型 规则: 默认参数应该放在参数的末尾 返回类型可以不同 要能区分不同的函数,不要有两个名称和数据类型、参数数量完全相同的函数出现 constructor 重载 destructor 重载 对于通过 new 方法申请内存空间的变量我们也要通过 delete 的方法删除,这时候我们就需要通过一个专门做这个的特殊函数 ~ 析构函数进行拆解删除 每次在类的生命周期结束的时候,会自动调用析构函数将变量 delete 掉 硬拷贝 Deep Copy 所谓深浅,区别在于对于指针的复制是按照地址复制还是内容复制,如果按照地址复制,在该代码块(函数)结束的时候会自动调用析构函数 三大法则 rule of big three 对于任何动态分配的内存,我们都必须提供: 析构函数 destructo ...
Untitled
Updated2024-05-29
解题模式 在线比赛,解出题目获得flag得分 攻防模式 现场比赛,存在快速攻击目标主机并且获取主机的权限 题目分类 web 安全 逆向工程 reverse 漏洞挖掘和漏洞利用 PWN 密码学 crypto 调查取证 misc 移动安全 mobile 练习网站 http://www.shiyanba.com/ctf/practice 易 http://ctf.bugku.com/login 易 https://www.ichunqiu.com/competition 难
Untitled
Updated2024-05-29
补天 https://loudong.360.cn 编程语言 php java 工具 metasploit nessus nmap awvs
Untitled
Updated2024-05-22
集合 集合的特性 集合元素各不相同 对于多集合 multiset 是可以存在重复的集合内元素的 元素没有顺序区别 两种表示法可以相互转化 (枚举/描述) 集合之间的关系 包含(子集) Inclusion (subset) 符号: ⊆\subseteq⊆ 或者 ⊂\subset⊂ 定义: A⊂B⇔∀x∈A→x∈BA\subset B \Leftrightarrow \forall x \in A\to x\in BA⊂B⇔∀x∈A→x∈B 不包含: ⊄\not\subset​⊂ 或者 ⊈\not\subseteq​⊆, 定义 ∃x∈A,x∄B⇒A⊈B\exists x \in A, x\not\exists B \Rightarrow A\not\subseteq B∃x∈A,x​∃B⇒A​⊆B 性质 A⊆AA\subseteq AA⊆A 集合包含自身 若 A⊆BA \subseteq BA⊆B 且 A≠BA\not= BA​=B 则 B⊈AB\not\subseteq AB​⊆A: 这里定义了集合的等号 A=B⇔A⊆B∧B⊆AA = B \Left ...
1…2930
avatar
Yuchen You (Wesley)
Articles
300
Tags
46
Categories
8
Follow Me
Announcement
This is my Blog
Recent Post
7. 分布式事务系统与 Spanner2025-11-28
6. Amazon Dynamo 系统2025-11-28
5. Transaction and ACID DB2025-11-28
4. Database Storage Structure2025-11-06
5. Consensus: Paxos Made Simple (not to me)2025-10-16
Categories
  • ai27
  • cpp8
  • cs_basic27
  • cybersecurity17
  • eecs28110
  • hardware2
  • math69
  • physics21
Tags
linear_algebra database virtual_machine sql thermal transformer machine_learning p_np complex_analysis field algorithm cpp_basic container cv hardware distributed_sys optimization chaos_system unix discrete_math cyber_security dynamic computability memory information_theory system_failure operating_system Model mse logic Consensus attention golang clip deep_learning structure kernel probability ODE statistics
Archives
  • November 20254
  • October 20255
  • September 202523
  • August 20253
  • July 20259
  • June 20253
  • May 202514
  • April 20253
Info
Article :
300
UV :
PV :
Last Update :
©2020 - 2025 By Yuchen You (Wesley)
Framework Hexo|Theme Butterfly
welcome to my blog!
Search
Loading the Database