- 博客(16)
- 收藏
- 关注
原创 天梯赛练习题L1-002
乍一看这是一个 c 语言的入门题,但是仔细分析发现这个题还是不那么容易实现的哈哈哈,难怪20 分呢!后面的输出三角形的部分也就涉及一些 c 语言入门的基础了,相信你可以的!即等差求和公式求一个三角形的的*数,然后乘以 2 再减1就是沙漏的所用的 * 数。首先我们先来看一下这个题目要求,就简单地可以分成正三角和倒三角而已嘛~接下来我们先处理上面的那个反三角。综上,就是代码的全部核心分析喽!
2024-06-03 15:51:25
481
原创 线性 DP-字符串动态规划 02(含16 年蓝桥真题)
dp[i][j]表示前 i 个字符构成的字符串和后 j 个字符构成的字符串的最长回文子序列在这里通俗点说i 就是最长回文子序列的左端点,len-j 就是最长回文子序列的右端点。因为如果当前两端字符匹配,那么以这两个字符为新的端点的最长对称子序列长度,就比去掉这两个字符的子串的最长对称子序列长度多 1(因为这两个字符又构成了一对对称)2.dp[i][j] 表示记录的字符串 ai 和 bi 的最少编辑次数,其中i 和 j 分别表示字符串 a 和字符串 b 的串长另一种叙述(似乎这种好理解一点点)
2024-05-31 22:51:31
1167
原创 前缀和、差分总结归纳
前缀和(Prefix Sum)是另一种常用的技巧,用于快速计算数组中某个位置前所有元素的和。前缀和数组是原始数组的前缀和构成的数组,可以帮助我们快速计算区间的和。一般来说,需要使用前缀和的题目具有以下特征:1. 需要频繁查询某个区间的和,如区间求和、区间最值等问题。2. 需要快速计算某个位置前所有元素的累积和。3. 题目中涉及到多次区间和的计算,可以考虑使用前缀和来优化计算过程。综上:通过差分和前缀和这两种技巧,我们可以在一些问题中更高效地处理区间操作和区间和的计算。
2024-05-27 01:01:37
1090
原创 线性动态规划-台阶问题
首先我们可以先假设 k=2 ,即最多每次可以走两级台阶,那么 dp[2]=dp[2-2] + dp[2-1],有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。一个正整数,为不同方式数,由于答案可能很大,你需要输出ans mod 100003 后的结果。对于100%的数据,有N ≤ 100000,K ≤ 100。对于20%的数据,有N ≤ 10, K ≤ 3;对于40%的数据,有N ≤ 1000;有因为可能 k > i 所以。,这是k=2 的情况,
2024-05-25 21:56:57
311
原创 动态规划-归纳总结
dp[i][j]表示在这个包包里可放前0~i 个物品(即放前 i 个物品),总重量不超过j 的最大价值。那么dp[i][j]可以由以下。
2024-05-25 01:11:56
1712
原创 01背包题型总结分析
dp[i][j]表示在这个包包里可放前0~i 个物品(即放前 i 个物品),总重量不超过j 的最大价值。那么dp[i][j]可以由以下。
2024-05-23 13:43:03
1260
原创 二分查找概述总结
即 nums[middle]是会遍历判断得到的,所以middle-1 的值才是下一轮二分的右端点right 的取值。if(nums[middle] > target) ,那么right应该有right = middle-1 ,因为 nums[middle]的值肯定不是目标元素 target 且我们元素的下标取值范围是右闭的。因为我们下标的取值范围是右开的区间,所以 nums[middle]本身是取不到的,是没有意义的,里的 middle-1。第一种写法:左闭右闭。第二种写法:左闭右开。
2024-05-22 10:51:51
354
基于Django和ORM的联通用户管理系统
2025-01-02
超级疑惑无敌特别疑惑诶!
2024-06-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人