• 2024-07-02代码随想录算法训练营第四十五天 | 打家劫舍
    198.打家劫舍题目链接文章讲解视频讲解dp[j]:表示投到第j家最多能偷dp[j]的钱递推公式:dp[j]=max(dp[j-2]+nums[j],dp[j-1])初始化:dp[0]=nums[0],dp[1]=max(dp[0],dp[1])遍历顺序:从小到大打印dp数组classSolution{public:introb(vector<int>&n
  • 2024-07-02第二十六天 第七章 回溯算法 part04 491.递增子序列 46.全排列 47.全排列 II
    491.递增子序列将其看作一个二叉树,可以知道,在二叉树每层中,不能取相同的元素。这题最主要要理解这个点。使用unordered_set对其进行降重。classSolution{public:vector<vector<int>>res;vector<int>cur;voidbacktracking(vector<int>&nums,intindex){
  • 2024-07-02代码随想录算法训练营第四十四天 | 322.零钱兑换 279.完全平方数 139.单词拆分
    322.零钱兑换题目链接文章讲解视频讲解classSolution{public:intcoinChange(vector<int>&coins,intamount){//dp[j]:表示能凑成面额j所需的最少硬币个数vector<int>dp(amount+1,0);//递推公式:dp[j]=min(dp[j-coins[i]
  • 2024-07-02详解C++中的容器,其特点与常用方法
    1.容器的定义在C++中,容器的概念是指一种对象类型,它可以持有其他对象或指向其他对象的指针。这种对象类型在数据存储上提供了一种有效的方式来管理一组元素。容器在C++中通常是模板类的形式。一般来说,容器内的元素都是相同类型的。即如果该容器内存放的是int类型的数据,那么
  • 2024-07-01单目相机校准
    参考链接opencv4.0中文文档https://apachecn.github.io/opencv-doc-zh/#/docs/4.0.0/7.1-tutorial_py_calibration使用的是python版本原文档https://docs.opencv.org/4.x/d4/d94/tutorial_camera_calibration.htmlhttp://t.csdnimg.cn/HKECW标定棋盘https://docs.opencv.
  • 2024-07-01手写排序
    '''C++std::vectorarr;//插入排序//时间复杂度n^2voidinsertSort(vector&arr){intlen=arr.size();for(inti=1;i<len;i++){intv=arr[i],j;for(j=i-1;v<arr[j]&&j>=0;j--){arr[j+1]=arr[j];}arr[j+1]=v;}}//选择排序
  • 2024-07-01牛客周赛 Round 44
    A题每三张删除一张,n/3就是答案点击查看代码#include<bits/stdc++.h>#defineall(x)(x).begin(),(x).end()#definefifirst#definesesecondusingi64=longlong;usingpii=std::pair<int,int>;template<typenameT>std::vector<T>read(T&n
  • 2024-07-01深入解析C++标准库中的std::vector容器
    1.底层实现std::vector 是C++标准库中的一个模版类,用于动态数组。它的底层实现可以理解为一个动态分配的连续内存块,当需要更多空间时,内存会自动扩展。内存分配:vector 使用一块连续的内存存储元素。当插入新元素导致容量不足时,vector 会分配一块更大的内存(通常是当前容量
  • 2024-07-01C/C++ Dijkstra(迪杰斯特拉)算法详解及源码
    Dijkstra(迪杰斯特拉)算法是一种用于寻找带权重图中的最短路径的算法。它由荷兰计算机科学家EdsgerDijkstra于1956年提出,被广泛应用于网络路由算法和地图路线规划等领域。算法思想:初始化一个距离数组,用于保存起点到每个顶点的当前最短距离(初始时将起点距离设置为0,其他顶
  • 2024-07-01代码随想录算法训练营第四十三天 | 52.携带研究材料 518.零钱总和II 377.组合总和IV 70.爬楼梯
    完全背包有N件物品和一个最多能被重量为W的背包,第i间物品的重量为weights[i],价值为value[i],每件物品都有无限个,求解将哪些物品装入背包里,物品价值总和最大遍历顺序:纯完全背包问题(即求装满背包后的最大价值)先遍历背包先遍历物品都是可以的和零一背包求解的最大不同就是遍历顺序
  • 2024-07-01RAG与LLM原理及实践(6)--- Chroma collection及存储逻辑分析
     背景在chromavectordb的世界中,除了对query的理解,另外就是需要深入理解chroma的运行模式,chroma运行时,提供了 local模式,server-client模式,这些在应用中固然重要,但从实现原理上说,其实就是通过http服务,在固定端口如11344上请求数据。但是在这之前,需要深入了解并理解coll
  • 2024-07-01LeetCode 2024/7 每日一题 合集
    2024/7/12065.最大化一张图中的路径价值分析注意观察到至多走十条边,因此直接爆搜即可。代码实现classSolution{public:intmaximalPathQuality(vector<int>&values,vector<vector<int>>&edges,intmaxTime){intn=size(values),m=size(edges);
  • 2024-06-24Codeforces Round 954 (Div. 3)
    A.XAxis题意:给3个x轴上的点xi,我们要放置一个点到x轴上,到这3个点的距离最短。(1<=xi<=10)思路:直接暴力破解即可inta,b,c;inlineintcal(intx){ returnabs(x-a)+abs(x-b)+abs(x-c);}voidsolve(){ cin>>a>>b>>c; intans=(int)1e9; for
  • 2024-06-24A15 汇编启动阶段-BSP
    MSRCPSR_c,#Mode_SVC|I_Bit|F_Bit //SVCmode //setupvectormode /*BIT[13]: 0:选择低端异常中断向量0x0~0x1c 1:选择高端异常中断向量0xffff0000~0xffff001c*/ MRC p15,0,r0,c1,c0,0 //ReadControlRegister BIC r0,r0,#(1<<13) //u
  • 2024-06-23算法训练营第六十七天 | 卡码网110 字符串接龙、卡码网105 有向图的完全可达性、卡码网106 岛屿的周长
    卡码网110字符串接龙这题一开始用的邻接表+dfs,不幸超时#include<iostream>#include<list>#include<string>#include<vector>usingnamespacestd;intminLen=501;boolcount(stringa,stringb){intnum=0;for(inti=0;i<a.lengt
  • 2024-06-23力扣刷题笔记
    记录5-6月力扣刷题,持续刷题中~2024.0515.三数之和双指针或者哈希表,注意去重的操作要考虑仔细classSolution{public:vector<vector<int>>threeSum(vector<int>&nums){vector<vector<int>>result;sort(nums.begin(),nums.end());
  • 2024-06-23LeetCode 448. 找到所有数组中消失的数字(哈希表)
    448.找到所有数组中消失的数字思路:方法一,借助额外的0(n)空间sta进行哈希classSolution{public:vector<int>findDisappearedNumbers(vector<int>&nums){intn=nums.size();vector<int>sta(n,0);for(inti=0;i<n;i++){
  • 2024-06-23C++入门 vector深度剖析及模拟实现
    目录vector析构函数模拟实现vector赋值拷贝模拟实现vector拷贝构造模拟实现vector构造函数模拟实现类模板的成员函数n个val构造单参数和多参数对象隐式类型转换使用memcpy拷贝问题在上两篇有关vector的模拟实现中,还有构造,拷贝构造,赋值拷贝以及析构函数没有实现,本篇主
  • 2024-06-23力扣-1630. 等差子数组
    1.题目介绍题目地址(1630.等差子数组-力扣(LeetCode))https://leetcode.cn/problems/arithmetic-subarrays/题目描述如果一个数列由至少两个元素组成,且每两个连续元素之间的差值都相同,那么这个序列就是等差数列。更正式地,数列s是等差数列,只需要满足:对于每个有效的i,s[i
  • 2024-06-23118. 杨辉三角
    118.杨辉三角题目链接:118.杨辉三角代码如下:classSolution{public:vector<vector<int>>generate(intnumRows){vector<vector<int>>res(numRows);for(inti=0;i<numRows;i++){res[i].resize(i+1,
  • 2024-06-23DP:01背包问题
    一、背包问题的概述背包问题是⼀种组合优化的NP完全问题。本质上是为了找出“带有限制条件的组合最优解”1、根据物品的个数,分为如下几类:•01背包问题:每个物品只有⼀个(重点掌握)•完全背包问题:每个物品有无限多个(重点掌握)•多重背包问题:每件物品最多有n个•混合背包
  • 2024-06-22代码随想录第13天 | 二叉树part01 基础和遍历
    二叉树基础知识二叉树种类满二叉树满二叉树:如果一棵二叉树只有度为0和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树(子节点要么为0,要么为2)若满二叉树的深度为k(即k层,从1开始),则其节点个数为:2^k-1完全二叉树完全二叉树:从上到下,从左到右,都是连续的。满二叉树一
  • 2024-06-22C++ STL容器操作:6种常用场景算法
    C++STL容器操作:6种常用场景算法    •   引言   •   概述   •   查找与计数   ▪   std::find   ▪   std::find_if   ▪   std::find_if_not   ▪   std::find_end   ▪   std::find_first_of
  • 2024-06-22ABC348
    E-MinimizeSumofDistanceshttps://atcoder.jp/contests/abc348/tasks/abc348_e换根DPor带权树的重心换根DP如果只求根节点的\(f_x\)​,那就是一个很简单的树形DP(甚至没用dp吧,就dfs一遍):\(f(x)=\displaystyle\sum_{i=1}^N(C_i\timesd(x,i))\)std::vector<i6
  • 2024-06-21一分钟轻松掌握Java的Vector&ArrayList
    Vector方法是同步的,线程安全ArrayList方法是非同步的,效率较高向量变量的声明格式Vector<向量元素的数据类型>变量名;示例Vectorvs;创建向量实例对象Vectorvs=newVector();在Java中,Vector<Object>是一个泛型Vector,它专门用于存储Object类型或其子类型的对象