摘要: 卢卡斯定理 卢卡斯定理(Lucas' Theorem) 计算大数的组合数模素数 $C(n, k)\mod p $,其中 $ p $ 是素数。 定理内容 将 $ n $ 和 $ k $ 表示为 $ p $ 进制数: \(n = n_m p^m + n_{m-1} p^{m-1} + \dots + n 阅读全文
posted @ 2025-04-10 11:52 lumiere_cloud 阅读(6) 评论(1) 推荐(0)
摘要: 埃拉托斯特尼筛法(埃氏筛) 筛选出所有小于等于n的质数 步骤 初始化布尔数组:创建一个长度为 n+1 的数组 is_prime,初始时除 0 和 1 外,其他元素设为 True。 **标记非质数:从 2 开始遍历到 √n,若当前数 i 是质数,则将其所有倍数标记为非质数(从 i² 开始)。 收集结果 阅读全文
posted @ 2025-04-10 08:52 lumiere_cloud 阅读(8) 评论(0) 推荐(0)
摘要: Manacher 算法(马拉车算法) 找到字符串中的最长回文子串 复杂度 O(n) 核心思想 统一处理奇偶长度:预处理字符串,插入分隔符(如 #),将任意字符串转换为奇数长度。 例:"aba" → "#a#b#a#" 利用对称性:维护一个当前已知的最右回文右边界 right 和对应的中心点 cent 阅读全文
posted @ 2025-04-09 15:17 lumiere_cloud 阅读(3) 评论(0) 推荐(0)
摘要: 线性动态规划(Linear DP) 处理序列或线性结构上的最优化问题,状态转移沿单一方向进行 最长递增子序列(LIS) 问题:找到数组中最长的严格递增子序列长度。 状态:dp[i] 表示以 nums[i] 结尾的 LIS 长度。 转移方程:dp[i] = max(dp[j] + 1) 对所有 j < 阅读全文
posted @ 2025-04-08 15:38 lumiere_cloud 阅读(4) 评论(0) 推荐(0)
摘要: 前缀和 快速计算数组的区间和,适用于多次区间查询的场景 时间复杂度:预处理 \(O(n)\),查询 \(O(1)\) def build_prefix_sum(arr): n = len(arr) prefix = [0] * (n + 1) for i in range(n): prefix[i+ 阅读全文
posted @ 2025-04-08 14:22 lumiere_cloud 阅读(10) 评论(0) 推荐(0)
摘要: 学号 2024-2025-2 《Python程序设计》实验x报告 课程:《Python程序设计》 班级: 2312 姓名: 蔡明辉 学号:20231213 实验教师:王志强 实验日期:2025年3月26日 必修/选修: 公选课 1.实验内容 设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多 阅读全文
posted @ 2025-04-02 16:19 lumiere_cloud 阅读(8) 评论(0) 推荐(0)
摘要: 问题描述 滑动窗口用于解决数组或字符串中子区间问题,尤其适用于需要处理连续区间的问题。 通过维护一个动态的窗口(通常由两个指针表示左右边界),在遍历过程中调整窗口的大小或位置,从而高效地解决问题。 一、滑动窗口的两种类型 固定大小的窗口 窗口长度固定,通过滑动窗口计算特定值(如最大值、平均值等)。 阅读全文
posted @ 2025-03-16 16:28 lumiere_cloud 阅读(19) 评论(0) 推荐(0)
摘要: 问题描述 有n件物品,有容量为c的背包 每件物品占的容量为\(\omega_{i}\) ;价值为\(v_i\) 问在容量限制下怎样选择才能带走最大价值的物品 根据物品的选择,还可以分为以下几种类型: 1.0-1背包问题 2.完全背包问题 3.多重背包问题 4.混合背包问题 一、.0-1背包问题 每件 阅读全文
posted @ 2025-03-16 16:17 lumiere_cloud 阅读(18) 评论(0) 推荐(0)
摘要: 20231213 2024-2025-2 《Python程序设计》实验一报告 课程:《Python程序设计》 班级: 2312 姓名: 蔡明辉 学号:20231213 实验教师:王志强 实验日期:2025年3月12日 必修/选修: 公选课 一.实验内容 1.熟悉Python开发环境; 2.练习Pyt 阅读全文
posted @ 2025-03-12 20:08 lumiere_cloud 阅读(60) 评论(1) 推荐(0)
摘要: % 操作符 >>> name = "lumiere" >>> age = 21 >>> print("My name is %s and I am %d years old." % (name, age)) My name is lumiere and I am 21 years old. '%[- 阅读全文
posted @ 2025-03-08 16:36 lumiere_cloud 阅读(6) 评论(0) 推荐(0)