Minimizing Coins 题解 Minimizing Coins 题解 题目描述 https://cses.fi/problemset/task/1634/ 给定 n 种硬币,每种硬币价值为 ci,求凑成金额 x 所需的最少硬币数。如果无法凑成,输出 -1。 限制: - 1 ≤ n ≤ 100 - 1 ≤ x ≤ 106 - 1 ≤ c_i ≤ 106 解法 完全背包 DP 定义 dp[j] 为凑成金额 j 所需 2026-04-07 02_动态规划 #题解 #DP #完全背包
Chicken Jockey 题解 题目分析 有 n 个怪物叠在一起,怪物 i (从下到上编号) 初始血量为 h[i]。 一次攻击可以对任意一个怪物造成 1 点伤害。当怪物血量 ≤ 0 时死亡,其上方的所有怪物会掉落。掉落的怪物中,底部的怪物会受到等于其下方怪物数量的摔落伤害。如果摔落后死亡,过程继续。 求最少需要多少次攻击才能消灭所有怪物。 核心观察 关键点:摔落伤害只取决于位置, 2026-04-07
02_Knapsack DP 背包DP 背包 DP 背包问题简介 背包问题通常涉及将有限容量的容器用物品的子集填满,我们希望计算或优化与物品相关的某些数量。几乎每次,你可以将每个物品视为具有正重量,而我们选择的物品的总重量不得超过容器的容量,这个容量是一个数字。 背包问题的变体 0/1 背包问题: 选择物品的子集,使得它们总价值最大化,且总重量不超过容器容量 完全背包问题: 找到所有可能的、由任何物品子集实现的总重量, 2026-04-07 02_动态规划 #DP #动态规划 #算法 #背包
Python 竞赛模板 Python 竞赛模板 输入输出 import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) n = int(input()) a, b = map(int, input().split()) arr = list(map(int, input().split())) for _ in ran 2026-04-07 algorithm #Python #竞赛 #模板
01_Introduction to DP 动态规划简介 动态规划简介 核心思想 将大问题拆解为小问题,记录子问题的解,避免重复计算。 示例 - 青蛙 1 (Frog 1) 题目描述 题目要求我们计算青蛙从石头 1 跳到石头 N (N ≤ 105) 的最小总成本,已知青蛙只能跳一或两的距离。任意两个石头 i 和 j 之间的旅行成本由 |hi − hj| 给出,其中 hi 表示石头 i 的高度。 解法 拉动态规划 (Pull 2026-04-07 02_动态规划 #DP #动态规划 #算法
最长数字子串(HJ12) 最长数字子串 题目描述 https://www.nowcoder.com/share/jump/5832603751775101880686 对于给定的由数字和小写字母混合构成的字符串 s,找到其中最长的数字子串。如果有多个相同长度的数字子串,则需要全部输出。 子串为从原字符串中连续选择一段字符得到的新字符串 输入保证至少存在一个数字子串 示例 输入: abcd12345e 2026-04-02 algorithm #Python #题解 #字符串
tumx tumx 连接上次的窗口 tmux a 简介 tumx主要有三种模式:Session windows panel。 每个Session下有很多windows 每个windows下有很多panel。一般一个Session 就足够使用。 https://tmuxcheatsheet.com/ 这里有主要的命令 在~/.tmux.conf文件下添加: set-option -g mou 2026-03-30 常用命令
未命名 leetcode:熟悉题型和算法,各类型的题选做10-15道(保底5-8道) 针对薄弱知识点查缺补漏题号: 字符串:3,49,30 线性表:86,16,27,732 队列:641,406,899 栈:946,116,117,895 哈希表:61,729,25,554 dfs:105,112,98,494,547,1254 bfs:1091,1129,102,101,752 动态规划类题目也 2026-03-26 华为机考
cf 模板 #include <bits/stdc++.h> using namespace std; #ifdef LOCAL #include "algo/debug.h" #else #define debug(...) 42 #endif int main() { ios::sync_with_stdio(false); cin.t 2026-03-18 algorithm
Z 字形变换(Zigzag Conversion) Z 字形变换 题目描述 https://leetcode.cn/problems/zigzag-conversion/ 将一个给定字符串 s 根据给定的行数 numRows,以从上往下、从左到右进行 Z 字形排列,之后逐行读取产生新的字符串。 解题思路 核心观察 Z 字形变换的周期为 t = 2 * numRows - 2。字符按周期向下移动,遇到第一行或最后一行时反向移动到右上。 2026-03-26 algorithm #Python #题解 #字符串 #LeetCode