博主头像
HailinCode

Full-Stack Developer

分类 算法 下的文章

算法

分巧克力

蓝桥杯2017-省AB-分巧克力N, K = map(int, input().split()) c = [] for _ in range(N): H, W = map(int, input().split()) c.append((H, W)) def can_cut(mid): # 检查边长为 mid 时,能不能切出至少 K 块 total = 0

算法

子集 / 全排列

子集子集 Python 算法nums = list(map(int, input().split())) n = len(nums) res = [] def dfs(start, path): res.append(path.copy()) for i in range(start, n): path.append(i) dfs(i + 1,

算法

回文字符串

蓝桥杯2024省赛-回文字符串题目描述给定一个只包含小写字母的字符串 S,可以在字符串的开头加入任意数目的指定字符 l、q、b。问是否能通过这种方式将 S 转化为一个回文字符串。输入格式第一行一个整数 T,表示数据组数。 接下来 T 行,每行一个字符串 S。输出格式输出 T 行,每行 Yes 或 No。样例输入:3 gmgqlq pdlbll aaa输出:Yes No Yes解题思路核心思想由于

算法

农夫过河问题

农夫过河问题题目描述一位农夫需要将猫、鸡、米从河的左岸运到右岸。农夫有一条小船,但船每次只能载农夫本人加上一样东西。限制条件🐱🐔 猫和鸡不能单独待在一起(猫会吃鸡)🐔🌾 鸡和米不能单独待在一起(鸡会吃米)🐱🌾 猫和米可以单独待在一起(没有危险)目标找到一种安全的搬运顺序,使农夫、猫、鸡、米全部安全到达右岸。初始状态左岸:农夫 🧑、猫 🐱、鸡 🐔、米 🌾 右岸:(空)目标状态左岸:(空

算法

埃拉托斯特尼筛法

埃拉托斯特尼筛法简介埃拉托斯特尼筛法(Sieve of Eratosthenes)是一种简单且古老的算法,用于找出一定范围内所有的素数。其核心思想是从最小的素数开始,逐步标记其倍数为合数,最终未被标记的数即为素数。算法步骤创建一个布尔数组 is_prime[0..n],初始全部设为 True。将 0 和 1 标记为 False,因为它们不是素数。从 i = 2 开始,若 i 是素数,则将其所有倍数