cur
  • 2024-06-30二叉搜索树详解
    一、二叉搜索树的概念二叉搜索树又名二叉排序树以及二叉查找树,它是一颗空树或者是具有以下性质的二叉树*若它的左子树不为空,则左子树上所有节点的值都小于根节点的值*若它的右子树不为空,则右子树上所有节点的值都大于根节点的值*它的左右子树分别为二叉搜索树。二、基本操
  • 2024-06-30SAM 笔记
    SAM笔记有人问我\(\text{endpos}\)是什么?一个串的\(\text{endpos}\)就是它在原串中的所有出现位置右端点集合。后缀自动机每个节点对应的是一些本质不同的字符串,这些串满足属于同一个等价类,即\(\text{endpos}\)相同.这些串有后缀关系.后缀链接连向这些串的一个最小后
  • 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-24[本科项目实训] P-Tuning v2 训练数据生成
    思路由于我们项目的任务并不属于通用的自然语言处理任务,所以显然没有公开数据集,因而手工生成与模型生成相结合的方式或许是一个不错的选择。在不同的使用方式和任务情景下,我们曾经尝试了不同的数据集生成方式:#v1importjsonimportrandomtrain_f=True#train_f=False
  • 2024-06-23【C++高阶】高效搜索的秘密:深入解析搜索二叉树
  • 2024-06-22【广度优先搜索 深度优先搜索 图论】854. 相似度为 K 的字符串
    本文涉及知识点广度优先搜索深度优先搜索图论图论知识汇总深度优先搜索汇总C++BFS算法LeetCode854.相似度为K的字符串对于某些非负整数k,如果交换s1中两个字母的位置恰好k次,能够使结果字符串等于s2,则认为字符串s1和s2的相似度为k。给你两个字母
  • 2024-06-22【初阶数据结构】深入解析带头双向循环链表:探索底层逻辑
  • 2024-06-22随机链表的复制 && 排序链表
    随机链表的复制题目.-力扣(LeetCode)思路:思路:       ①一个结点一个节点去拷贝,当拷贝了第一个节点的时候,把原节点与拷贝节点连接起来,直接到所有的节点拷贝完毕,这样做的目的是为下一步处理random指针做准备      ②处理random       ③处理
  • 2024-06-22LeetCode刷题day3——链表part1
    203.移除链表元素这个题是二刷了一开始这个思路就是利用虚拟头结点,但是中间很多小细节都考虑不到,例如初始化一个新的链表,循环条件的写法等classSolution{public:structListNode{intval;ListNode*next;ListNode(intx):val(x),next(NULL){};//定义构
  • 2024-06-22LeetCode刷题day4——链表part2
    24.两两交换链表中的节点用pre代表第1个节点,cur代表它后面的相邻节点,tmp存储cur->next。但是问题找不到怎么返回新的节点。想着就循环一次,在第一次交换的时候就确认新的头结点。但还存在很多问题,具体如下:classSolution{public:ListNode*swapPairs(ListNode*he
  • 2024-06-216.21-二叉搜索树的最近公共祖先
    235.二叉搜索树的最近公共祖先题意描述:给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”
  • 2024-06-21B. Modulo Sum
    https://codeforces.com/contest/577/problem/B题意:给定长度为n个数组和一个m(1<=n<=1e6,2<=m<=1e3),其中n中的元素(1<=x<=1e9)。问n中是否有子序列的和可以被m整除,输出YES或NO。思路:维护一个集合,依此遍历数组元素,每次遍历将集合中的元素进行更新,更新过程中看是否有0
  • 2024-06-20链表插入的小技巧
    一个带有优先级的链表:structlist{structlist*next;u32priority;} 如果要按照优先级插入某个新节点node,算法一般会写成:intlist_insert(list**head,list*new){if(head==null||*head==null||new==null)return1;list*prev
  • 2024-06-17[C++][数据结构][红黑树]详细讲解
    目录1.红黑树的概念2.红黑树的性质3.红黑树节点的定义4.红黑树的结构5.红黑树的插入操作1.cur为红,p为红,g为黑,u存在且为红2.cur为红,p为红,g为黑,u不存在/u存在且为黑--单旋+变色3.cur为红,p为红,g为黑,u不存在/u存在且为黑--双旋+变色6.红黑树的迭代器1.begin()与end()2.o
  • 2024-06-17AtCoder Beginner Contest 358
    A-WelcometoAtCoderLandvoidsolve(){strings,t;cin>>s>>t;if(s=="AtCoder"&&t=="Land"){cout<<"Yes\n";return;}cout<<"No\n&qu
  • 2024-06-16网络流复杂度证明
    EK(转)dinic(转)EK(未完)以此份代码为例//P3376【模板】网络最大流//EK算法#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=410,M=10010;intn,m,S,T,h[N],e[M],w[M],ne[M],idx,pre[N],dist[N],st[N],ans,g[N][N];voidadd(inta,intb,in
  • 2024-06-16Python在SQLite中的应用:从入门到进阶
    Python在SQLite中的应用:从入门到进阶Python作为一门高效、灵活的编程语言,广泛应用于各种数据处理和分析任务。而SQLite是一种轻量级的数据库管理系统,特别适合于嵌入式应用和小型项目。在本篇博文中,我们将深入探讨Python在SQLite中的应用,帮助读者从零开始,逐步掌握这项技能。
  • 2024-06-16华为OD刷题C卷 - 每日刷题32(执行任务赚积分,计算三叉搜索树的高度)
    1、(执行任务赚积分):这段代码是解决“执行任务赚积分”的问题。它提供了一个Java类Main,其中包含main方法和getResult方法,用于计算在有限的时间内,处理任务可以获得的最多积分。main方法首先读取任务数量n和可用于处理任务的时间t,然后读取每个任务的最晚处理时间限制和积分值,
  • 2024-06-14MySQL 游标遍历每一行数据做处理。
     delimiter$$--分隔标记CREATEPROCEDUREprocess_test()begin--声明变量declareSuoshuQY_pvarchar(255);declaredoneint;declarecurcursorforSELECTSuoshuQYasSuoshuQY_pFROMdiy_cabinet_listWHEREIsDeleted=0;declareco
  • 2024-06-14【Py/Java/C++三种语言OD独家2024D卷真题】20天拿下华为OD笔试之【DFS】2024D-计算三叉搜索树的高度【欧弟算法】全网注释最详细分类最全的华为OD真题题解
    有LeetCode算法/华为OD考试扣扣交流群可加948025485可上全网独家的欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【CSDN】否则不通过)文章目录题目描述与示例题目描述:输入描述输出描述示例一输入输出说明示例二输入输出说明示例三
  • 2024-06-14每日一练——随机链表的复制
    138.随机链表的复制-力扣(LeetCode)关键点:通过“相互插入”式的复制方法来把源链表和目标链表的random联系起来。  /***DefinitionforaNode.*structNode{*intval;*structNode*next;*structNode*random;*};*/typedefintLD
  • 2024-06-13BFS(广度优先搜索)优化技巧 — 双向遍历
    BFS优化技巧—双向遍历在之前我发过动态规划框架与动态规划的优化技巧—空间压缩,类似的,BFS框架也有相应的优化技巧双向遍历。从技巧的名字就可以看出,双向遍历指的就是从起点开始找终点的同时,也从终点开始找起点,一旦两个寻找过程出现交集,那么起点到终点的路径也就找出
  • 2024-06-132024.6.10
    01背包问题详解01背包是一种动态规划问题。动态规划的核心就是状态转移方程,本文主要解释01背包状态转移方程的原理。问题描述01背包问题可描述为如下问题:有一个容量为V的背包,还有n个物体。现在忽略物体实际几何形状,我们认为只要背包的剩余容量大于等于物体体积,那就可以装进背包里
  • 2024-06-12红黑树/红黑树迭代器封装(C++)
        本篇将会较为全面的讲解有关红黑树的特点,插入操作,然后使用代码模拟实现红黑树,同时还会封装出红黑树的迭代器。    在STL库中的set和map都是使用红黑树封装的,在前文中我们讲解了AVL树,对于红黑树和AVL树来说,这两种树都是效率很高的搜索二叉树,但是
  • 2024-06-12AVL树 ---(C++)
        本篇讲全面的讲解AVL树的插入,旋转以及验证AVL树的性能(本篇未实现删除代码)。至于为什么会有AVL树,这是因为简单的二叉搜索树并不能直接的保证搜索的效率,因为当我们在二叉搜索树中插入一段有序的序列的时候,二叉搜索树就会退化为单枝树,这个时候进行搜索的时候,时