鸽巢原理
鸽巢原理 如果有n+1个鸽子飞进了n个鸽巢中,那么必定有鸽巢中至少飞进了2只鸽子。 常被用于证明存在性证明,和求最坏情况下的解。 存在性证明:连最坏情况都不存在解,所以情况也就肯定不存在解。 证明 将 n+1 个苹果,放到 n个抽屉中,那么有至少一个抽屉有两个(或以上)的苹果。 这个定理看起来比较显然,证明方法考虑反证法: 假如每个抽屉有最多 1 个苹果,那么最多有 n 个苹果,而实际上有 n+1个苹果,矛盾。
半群与独异点
半群 定义 一个代数系统<S,*>,其中S是非空集合,∗*∗是S上一个二元运算,如果满足: 运算∗是可结合的,即∀x,y,z∈S运算*是可结合的,即 \forall x,y,z \in S运算∗是可结合的,即∀x,y,z∈S,有 (x∗y)∗z=x∗(y∗z)(x*y)*z =x*(y*z) (x∗y)∗z=x∗(y∗z) 则称<S,∗><S,*><S,∗>为半群 注意: <S,∗><S,*><S,∗>是代数系统,满足封闭性 满足结合律 子半群 设 (S, *) 是一个半群,如果 T 是 S 的一个非空子集,并且 T 在运算 * 下封闭(即对于任意 a, b ∈ T,有 a * b ∈ T),则 (T, *) 称为 (S, *) 的一个子半群 交换半群 如果半群 (S, *) 的运算 * 满足交换律,即对于任意 a, b ∈ S,都有 a * b = b * a,则称这个半群为交换半群(或阿贝尔半群)。 幂等元存在性 定理 在有限半群中,每个元素都有幂等幂。也就是说,对于任意元素a...
爬楼梯
题目表述(来源LeetCode) 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 代码实现 12345678class Solution: def climbStairs(self, n: int) -> int: a = [0,1,2] i=3 if n>2: for i in range(3,n+1): a.append(a[i-1]+a[i-2]) return a[n] 复杂度分析 时间复杂度:O(n)O(n)O(n) 空间复杂度:O(n)O(n)O(n)
斐波那契数
题目表述(来源LeetCode) 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给定 n ,请计算 F(n) 代码实现 12345678910class Solution: def fib(self, n: int) -> int: a = [0,1] i=2 a[0]=0 a[1]=1 if n>1: for i in range(2,n+1): a.append(a[i-1]+a[i-2]) return a[n] 复杂度分析 时间复杂度:O(n)O(n)O(n) 空间复杂度:O(n)O(n)O(n)
多重草稿模型
多重草稿模型 🎯 核心定义 多重草稿模型是丹尼尔·丹尼特提出的意识理论,认为: “各种各样的知觉能在大脑中完成,靠的是平行的、多轨道的、对感觉输入的诠释和细化过程。” 🔄 处理流程 第一阶段:连续编辑 状态: 进入神经系统的信息处于连续的"编辑修改状态" 特征: 依赖于显著特征 例证: 麦格克效应 (视觉影响听觉的错觉) 第二阶段:表征加工 输入: 接收相对来说未予加工的片面表征 输出: 产生经过比较、修改和提升的表征 关键机制: 特征检测只需进行一次 - 效率优化 多重性 - 在任何时间点,脑中各个地方都存在叙事残片的多重"草稿" 因果时序 - 原因必定先于结果 📚 实证证据 似动现象 描述: 静态图像快速连续呈现产生运动错觉 意义: 证明知觉是建构的,而非被动的接收 跳兔实验 描述: [请补充具体实验细节] 意义: 展示知觉的时间顺序是可塑的 其他证据 变化盲视 时间绑定问题 填充现象 ⚖️ 理论对比 特征 笛卡尔剧场 多重草稿模型 处理方式 序列性、中央化 并...
11.17| 意识、代码与生活
📖 阅读与思考 今日阅读《意识的解释》,进度至第八章节。 感悟与联想:本书如没有基础,很难看懂,看了一天,仍然觉得有点晦涩难懂,于是决定以后了解相关内容后再来回顾 💻 学习与代码 课程/领域: 离散数学同态、同余关系 实践/实验: LeetCode题11(自除数)题12(反转两次的数字) 离散数学第八次作业 🎮 生活与观察 日常小事: 网络见闻: 今天的英语阅读短报是关于年轻人进入健身房喜欢穿宽松的服饰而非传统的紧身衣 shift n、转变 retailer n、零售商 💭 今日三思 技术思辨: 有时候不需要去模拟过程,只需要观察结果特性 自我觉察: 最近,感觉花在游览短视频的时长过长 方法总结: 我的日常规划有问题
反转两次的数字
题目描述(来源于LeetCode) 反转 一个整数意味着倒置它的所有位。 例如,反转 2021 得到 1202 。反转 12300 得到 321 ,不保留前导零 。 给你一个整数 num ,反转 num 得到 reversed1 ,接着反转 reversed1 得到 reversed2 。如果 reversed2 等于 num ,返回 true ;否则,返回 false 。 代码实现 123class Solution: def isSameAfterReversals(self, num: int) -> bool: return num %10!=0 or num==0 复杂度分析 时间复杂度:O(1)O(1)O(1) 空间复杂度:O(1)O(1)O(1)
自除数
题目描述(来源于LeetCode) 自除数 是指可以被它包含的每一位数整除的数。 例如,128 是一个 自除数 ,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。 自除数 不允许包含 0 。 给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right](包括两个端点)内所有的 自除数 。 代码实现 1234567891011121314151617181920class Solution: def selfDividingNumbers(self, left: int, right: int) -> List[int]: result = [] for num in range(left, right + 1): temp = num is_self_dividing = True while temp : digit = temp %...
同余关系
同余关系 运算上的同余 设A=<S,∗,Δ>A=<S,*,Δ>A=<S,∗,Δ>是一个代数系统,~是载体S上的等价关系,∀a,b,c∈S\forall a,b,c \in S∀a,b,c∈S. 当ab时,若ΔaΔb,则等价关系在一元运算Δ下是可保持的,称是关于运算Δ同余关系 当ab和cd时,若有a∗c b∗da*c~b*da∗c b∗d,则等价关系在二元运算$*$是可保持的,称是关于运算∗*∗同余关系 注意: A是代数系统,满足封闭性 ~是等价关系 代数系统上的同余 设A=<S,∗,Δ>A=<S,*,Δ>A=<S,∗,Δ>是一个代数系统,是载体S上的等价关系,若在A上的所有运算下都是可保持的,则称~为代数系统A上的同余关系 定理 设g是从代数系统A=<S,∗,△,k>A=<S,*, △,k>A=<S,∗,△,k>到A’=<S’,∗’,△’,k’>A’=<S’,*’, △’,k’>A’=<S’,∗’,△’,k’>的一个同态映射,...
同态
同态 同态定义 设A=<S,∗,△,k><S, *, △, k><S,∗,△,k>和A’=<S’,∗’,△’,k’><S’, *’, △’, k’><S’,∗’,△’,k’>是两个具有相同构成的代数系统,f是从S到S’的一个映射, 且对任意a,b∈S满足: $$\begin{aligned} f&(a*b) = f(a) *’ f(b) \ f&(△a) = △’f(a) \ f&(k) = k’ \end{aligned} $$则称f为由A到A’的一个同态映射,简称同态。A 同态于A’,记作A~A’。 同态象 设f是从A=<S,∗,△,k>A=<S, *, △, k>A=<S,∗,△,k>到A’=<S’,∗’,△’,k’>A’=<S’, *’, △’, k’>A’=<S’,∗’,△’,k’>的一 个同态映射,称<f(S),∗’,△’,k’><f(S), *’, △’, k’><...













