arr
  • 2024-07-01C语言--vs使用调试技巧
     1.什么是bug?1.产品说明书中规定要做的事情,而软件没有实现。2.产品说明书中规定不要做的事情,而软件确实现了。3.产品说明书中没有提到过的事情,而软件确实现了。4.产品说明书中没有提到但是必须要做的事情,软件确没有实现。5.软件很难理解,很难使用,速度超慢,测试人员站在
  • 2024-06-24LeetCode 502 IPO All In One
    LeetCode502IPOAllInOneIPOdifficulty:Hard/难度:困难solutionshttps://leetcode.com/problems/ipo/description/?envType=daily-question&envId=2024-06-15demos//export{};functionprintSubArrays(arr,start=0,end=0){//Stopifwe
  • 2024-06-24[题解]CF1714F Build a Tree and That Is It
    思路由于题目中说这是一棵无根树,不太方便思考,于是,我们可以假装把这棵树看做有根树。首先我们令\(d_1,d_2,d_3\)分别表示从根节点到节点\(1,2,3\)的长度(不算相交部分)。那么我们可以得到下式:\[\left\{\begin{matrix}d_{12}=d_1+d_2\\d_{13}=d_1+d_3\\
  • 2024-06-24Vue前端多图展示
    <el-table-columnlabel="图片"align="center"width="180px":show-overflow-tooltip="false"><template#default="scope"><el-imagefit="fill"style="width:40px;h
  • 2024-06-24workmanager.cpp
    #include<workmanager.h>#include<worker.h>#include<fstream>workmanager::workmanager(){ifstreamifs;ifs.open(FILENAME,ios::in);if(!ifs.is_open())//如果文件不存在初始化{this->m_num=0;//初始化人数为零this->m_arr=NULL;//初始化职
  • 2024-06-24stm32影子寄存器、预装载寄存器,TIM_OC1PreloadConfig和TIM_ARRPreloadConfig的作用
    一直没搞清楚stm32定时器的TIM_OC1PreloadConfig、TIM_ARRPreloadConfig函数的作用,影子寄存器、预装载寄存器、重载寄存器的概念。今天来研究一下:图中有阴影的小方框,代表该功能对应的寄存器有影子寄存器,也就是:PSC预分频器、自动重装载寄存器、REP寄存器和4个通道的捕获/比较寄存
  • 2024-06-24NumPy运算
    NumPy运算本篇博客将讲述NumPy中的一些运算符,我将其分成五类:基本运算比较运算标量运算数学函数统计函数1.基本运算运算符函数说明+add(a,b)加-subtract(a,b)减*multiply(a,b)乘/divide(a,b)除%mod(a,b)求余**power(a,b)
  • 2024-06-23数据结构/排序/堆排序 --- 逻辑讲解、代码实现、图形展示
    一、总体逻辑:    1.写一个交换的函数swap备用    2.写一个维护堆的性质的函数heapify备用    3.数组-> 堆(不明白的别急,后面会详细解释)    4.维护整个堆(看不懂别急别急别急)    5.堆顶和堆底的最后一个元素互换(不明
  • 2024-06-23[算法篇] 简单讲讲一维前缀和与差分
    前缀和:先给定义:指某序列的前n项和是不是与我们高中所学的数列求和类似?给出用途: 如我们于一组长度为n的整数序列中询问m次,每次询问中输出区间[l,r]中数之和倘若我们先不使用前缀和,预测一下思路将会是:m次询问中,每一次都求和数组[l,r]时间复杂度为O(n),思路很简单但若m非常大则将
  • 2024-06-23算法题-JS实现整数反转
    学习目标:整数反转leetcode原题链接学习内容:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围[−231,231−1],就返回0。假设环境不允许存储64位整数(有符号或无符号)。示例1:输入:x=123输出
  • 2024-06-23NumPy数组的分割
    NumPy数组的分割方法说明split()分割数组hsplit()沿横轴分割数组vsplit()沿纵轴分割数组1.split()np.split(arr,整数或数组,axis=n)(1)整数importnumpyasnparr=np.arange(10)res=np.split(arr,5)print("arr:")print(arr)print("res:")p
  • 2024-06-23[题解]AT_agc054_b [AGC054B] Greedy Division
    思路首先不难发现一个规律,当\(sum\)为奇数时不可能有解。定义\(dp_{i,j,k,0/1}\)表示A在前\(i\)个数中选出和为\(j\)的\(k\)个数,且第\(i\)个不选/选的方案数。那么,我们只需要对于第\(i\)个数的状态分类讨论就能得到状态转移方程:不选\(i\),\(dp_{i,j,k,0}=
  • 2024-06-23数组元素的数量
    在数组初始化时,我们不希望将数组大小写死,后续可能会有修改,那么对于未指定大小的数组,如何计算其元素个数?思路:已知数组名代表整个数组的物理大小,数组内单个元素代表数组的一个单元物理大小,假设数组物理空间是100,单个元素物理空间是5,那么该数组一共有20个元素。array_element_numbe
  • 2024-06-22十大经典排序算法——插入排序与希尔排序(超详解)
    一、插入排序1.基本思想直接插入排序是一种简单的插入排序法,基本思想是:把待排序的记录按其数值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。2.直接插入排序当插入第end+1 个元素时,前面的arr[0],arr[1],... ,arr[end]已经
  • 2024-06-22【数据结构】线性表之《栈》超详细实现
    栈一.栈的概念及结构二.顺序栈与链栈1.顺序栈2.链栈1.单链表栈2.双链表栈三.顺序栈的实现1.栈的初始化2.检查栈的容量3.入栈4.出栈5.获取栈顶元素6.栈的大小7.栈的判空8.栈的清空9.栈的销毁四.模块化源代码1.Stack.h2.Stack.c3.test.c一.栈的概念及结构栈:一种特
  • 2024-06-22【C语言/C++干货系列】你真的了解数组吗?
    目录广告前言一维数组二维数组字符数组尾声广告                      点击
  • 2024-06-22C语言指针(三)
    数组地址我们知道,数组名即是数组的首地址,因此#include<stdio.h>intmain(){intarr[10]={1,2,3,4,5,6,7,8,9,10};printf("&arr[0]=%p\n",&arr[0]);printf("arr=%p\n",arr);return0;}我们会发现,二者地址相同即 那么如果数组名是首地址,以下代码该怎么解
  • 2024-06-22python 快速排序
     快速排序快速排序是一种非常高效的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 以下是一个使用Python实现的快速排序的示例代码: pythond
  • 2024-06-22【C#进阶】高级数据结构和算法_2024-06-22
    当我们深入到编程的世界,我们会发现,掌握高级数据结构和算法就像是拥有了一套高级工具箱,它们能帮助我们更高效、更优雅地解决问题。今天,我们就来一探究竟,看看这些高级工具是如何工作的。首先,让我们来谈谈高级数据结构。数据结构就像是我们用来存放东西的容器,高级数据结构就是一些
  • 2024-06-22[题解]AT_abc249_f [ABC249F] Ignore Operations
    思路反悔贪心套路题。发现一个性质,当一个操作1生效意味着在这一步之前的所有操作都没用。那么考虑倒着枚举,对于每一个操作1的选取状态做一个简单的分讨:如果保留,那么这种情况下的答案就是之前的\(sum\)加上当前的\(y\)。如果不保留,继续往前走,\(k\leftarrowk-1\)。
  • 2024-06-22[题解]AT_abc216_f [ABC216F] Max Sum Counting
    思路首先,不难发现,对于本题将\(a,b\)合成一个序列,并按照\(a_i\)排序的答案不会发生变化。所以,我们可以直接排序,那么,我们当前枚举到的\(a_i\)就是当前的\(\max(a_i)\)。定义\(dp_{i,j,0/1}\)表示在\(1\simi\)中,选择的\(b_i\)之和为\(j\),并且第\(i\)个数不选/选
  • 2024-06-22最大子段和
    include<bits/stdc++.h>usingnamespacestd;constintmaxn=200005,minn=-0x3f3f3f3f;intn,arr[maxn];intmaxSubSum(intle,intri){if(le==ri){returnarr[le];}intmid=(le+ri)>>1,leftSum=minn,rightSum=minn,sum=0;for(inti=mid;i
  • 2024-06-21手撕排序2--选择排序(直接选择+堆排序
    目录:1.直接选择排序  的实现及分析2.堆排序的实现及分析1.直接选择排序1.1基本思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。1.2一次排序-->将最大值放在第一个,最小值放在最后一个代码实现:#incl
  • 2024-06-21一维静态数组
    数组,拆分就是数的组合,里面可能会出现重复的数字;同时数组分为一维数组和二维数组。我们可以把一维数组理解为一条线,把二维数组理解成一个面。当然,三维数组,甚至四维数组,只要你有能力,都可以在c++,同样有数组。这次我们讲一维静态数组语法定义Typarr[n];//定义一个类型为Ty
  • 2024-06-21全排列问题
    1letstr="abbd"2functionArrange(str){3if(str.length<=2){4returnstr.length===2?[str,str[1]+str[0]]:[str]5}6letarrRes=[]7letarrStr=str.split('');8for(leti=0;i<a