- 2025-03-19动态规划-使用最小花费爬楼梯
1.题目题目分析初始可以选择第一个或者第二个,也就是下标为0和1位置的阶梯,如果还要往下跳就要缴费,费用就是cost数组的元素,阶梯下的数字就是cost数组的下标,对应的元素就是费用,要求出最小费用到最终点。2.算法原理动态规划五步走,第一找到状态表示,第二求出状态方程,第三初始化
- 2025-03-19深入解析 C++ Vector:全面掌握 STL 核心容器的原理与高效实践
一、Vector的核心概念与特性Vector是C++标准库中最常用的动态数组容器,其底层基于连续内存存储元素,兼具数组的高效访问与动态扩容的灵活性。以下是其核心特性:1.1核心特性对比特性普通数组Vector容器内存分配静态固定动态增长访问效率O(1)O(1)插入/删除效率需手动管
- 2025-03-19Leetcode Hot 100 39.组合总和(回溯)
1.题目39.组合总和给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制
- 2025-03-19E2-走梅花桩(并查集版)
题目描述少林寺武僧有一项训练科目就是走梅花桩,现在有m行n列的梅花桩,每个梅花桩都有一个高度,若相邻梅花桩之间的高度相差为x,则可以走到相邻梅花桩上。少林武僧可以选择任意起始位置,请你计算出少林武僧最多可以走多少个梅花桩。输入描述第一行输入m和n和x,以空格分
- 2025-03-19C++基础系列【24】STL迭代器和算法
博主介绍:程序喵大人35-资深C/C++/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C++20高级编程》《C++23高级编程》等多本书籍著译者更多原创精品文章,首发gzh,见文末
- 2025-03-19OpenCV旋转估计(1)用于估计图像间仿射变换关系的类cv::detail::AffineBasedEstimator
操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述基于仿射变换的估计器。这种估计器使用匹配器估算的成对变换来为每个相机估算最终的变换。cv::detail::AffineBasedEstimator是OpenCV库中用于估计图像间仿射变换关系的类。
- 2025-03-19排序方面遇到的坑 LC2610
题目链接思路1:O(logN)+O(N)classSolution{public://O(logN)+O(N)vector<vector<int>>findMatrix(vector<int>&nums){unordered_map<int,int>cnt;for(auto&x:nums)cnt[x]++;sort(nums.
- 2025-03-19E23,CANape 23 开启智能测试新时代
随着汽车行业向电动化、智能化与网联化加速转型,车辆功能与架构的复杂度持续攀升,这对测试工具提出了更高要求。作为全球领先的汽车电子测试解决方案供应商,德国Vector公司推出的CANape23.0版本,通过功能更新增强、硬件兼容优化及智能化升级,为工程师提供了更高效、更灵活的一体化
- 2025-03-18vector(沉淀)
文章目录1.vector的介绍及使用(顺序表)1.1vector的介绍[vector参考文献](https://legacy.cplusplus.com/reference/)三种遍历方式1.2vector的使用Memberfunctions(1)(constructor)std::vector::vector[构造](https://legacy.cplusplus.com/reference/vector/vector/vec
- 2025-03-18从0到1的前缀和&差分数组学习(含C++源码)
前缀和&差分数组前言前缀和引入(一维前缀和)二维前缀和例题AC代码差分数组一维差分例题1AC代码例题2AC代码前言看了很多视频之后,我觉得不论学习什么算法都应该明确一个对于算法学习的框架,避免很多时候自己都不知道自己在干嘛,很混乱,这里我自己总结了一下:1.首先最
- 2025-03-18算法学习-堆排序
一、堆排序1.堆(二叉)堆是一个数组,它可以被看成是一个近似的完全二叉树。对于一个节点i,我们可以很容易计算它的父节点,左子节点,右子节点的下标par
- 2025-03-18支持向量机(Support Vector Machine)基础知识1
目录一、线性SVM的分类原理1、SVM:从几何出发的分类模型1)间隔2)线性判别函数3)SVM的符号表示4)间隔计算5)SVM最大间隔2、带松弛变量的SVM1)数据不完全线性可分2)数据可完全线性可分但间隔小3)C-SVM4)数据不完全线性可分:松弛变量3、合页损失1)C-SVM:合页损失+L2正则2)对比一般机器学
- 2025-03-18洛谷P1449 后缀表达式
原理问题目标:统计一组数字中每个数字出现的次数,并按数字升序输出。核心方法:哈希表统计频率:利用 unordered_map 快速统计每个数字的出现次数。排序输出:将哈希表的键值对转换为 vector,按数字大小排序后输出。步骤输入数据:读取整数 n 表示数字总数。读
- 2025-03-17CCF-CSP第30次认证第1题 --《矩阵运算》
5082.矩阵运算-AcWing题库Softmax(Q×KTd√)×VSoftmax(Q×KTd)×V 是Transformer中注意力模块的核心算式,其中 QQ、KK 和 VV 均是 nn 行 dd 列的矩阵,KTKT 表示矩阵 KK 的转置,×× 表示矩阵乘法。为了方便计算,顿顿同学将 SoftmaxSoftmax 简化为了点乘一
- 2025-03-17DAY6 - 哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202.快乐数,1.两数之和
一般哈希表都是用来快速判断一个元素是否出现集合里。用于实现哈希的数据结构std::unordered_map底层实现为哈希表,std::map和std::multimap的底层实现是红黑树。同理,std::map和std::multimap的key也是有序的(这个问题也经常作为面试题,考察对语言容器底层的理解)。当我们
- 2025-03-17区间dp2
[Algo]区间dp21.合唱队//1.合唱队//https://www.luogu.com.cn/problem/P3205structCountStruct{intcntLeft=0;intcntRight=0;};intcompute(vector<int>&h){intn=h.size();vector<vector<CountStruct>>dp(n,vect
- 2025-03-17每天一道算法题【蓝桥杯】【二维前缀和】【详细图解】
思路二维前缀和可以用面积来表示dp【i】【j】表示【0,0】到【i,j】所有数字之和dp【i】【j】的使用#define_CRT_SECURE_NO_WARNINGS1#include<iostream>#include<vector>usingnamespacestd;intmain(){intn=0,m=0,q=0;cin>>n>>m>>
- 2025-03-17C++实现复杂数学运算
使用标准库函数C++标准库`<cmath>`提供了丰富的数学函数,可用于执行常见的数学运算。 三角函数:`sin`、`cos`、`tan`及其反函数。指数和对数函数:`exp`、`log`、`log10`、`pow`。其他函数:`sqrt`(平方根)、`abs`(绝对值)等。示例:计算一个数的平方根和自然对数。 cpp
- 2025-03-16DAY2 - 209.长度最小的子数组,59.螺旋矩阵II,区间和,开发商购买土地
209.长度最小的子数组子数组元素之和大于等于target重点:滑动窗口为什么用滑动窗口?子数组是连续的一开始自己写的:classSolution{public:intminSubArrayLen(inttarget,vector<int>&nums){intleft=0;intright=0;intminlen=numeric_l
- 2025-03-16C++定义高纬度vector
C++定义高纬度vector内容在处理算法题时,定义高维数组确实可能因语法冗长而影响效率。以下是针对不同编程语言的简洁解决方案:C++解决方案1.模板元编程生成多维vector通过递归模板自动推导嵌套类型,实现高维数组的声明:template<typenameT,intN>structMultiVector{
- 2025-03-16C++(八)vector
vector的介绍1.vector是表示可变大小数组的序列容器2.就像数组一样,vector也采用的连续存储空间来存储元素也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理 3.本质讲,vector使用动态
- 2025-03-16【C++标准库类型】深入理解vector类型(2):迭代器与算法
目录一、迭代器的本质:容器与算法的桥梁1.1.迭代器分类(以 vector 为例)1.2.迭代器失效场景(致命陷阱)二、算法与迭代器的深度绑定2.1.只读算法(不修改容器)2.2.修改算法(原地修改容器)2.3.迭代器与移动语义(C++11+)三、迭代器的高级用法3.1.子容器视图(C++17起)3.2.迭
- 2025-03-15区间dp
[Algo]区间dp1.让字符串成为回文串的最少插入次数//1.让字符串成为回文串的最少插入次数//https://leetcode.cn/problems/minimum-insertion-steps-to-make-a-string-palindrome/description/intminInsertions(strings){intn=s.length();vector<vector<i
- 2025-03-14VP Educational Codeforces Round 33 (Rated for Div. 2)
A.ChessForThree记录观众是哪一个,观众不能是赢家。点击查看代码voidsolve(){intn;std::cin>>n;std::vector<int>a(n);for(inti=0;i<n;++i){ std::cin>>a[i];}intx=1,y=2,z=3;for(inti=0;i&
- 2025-03-14笔记:代码随想录算法训练营day39:LeetCode 198.打家劫舍,213.打家劫舍II,337.打家劫舍III
学习资料:代码随想录198.打家劫舍力扣题目链接思路:有点像贪心,是一个不断比较取最大路径的思路定义:偷到下标为i的这家,能偷到的最大值递推公式:选当前这家偷能得到的钱和不偷当前这家的钱作比较,选能偷到的最大金额。因为这个金额是逐一递推过来的,所以是能够代表最大值的。初