图的储存方式 图是一个好东西,能够使用图来模拟或解决很多生活问题,同时在各大比赛上都少不了有关于图的问题.图是关系与顶点与边的,那么我们该如何来存入图的信息呢?(1)直接存边我们开一个数组,数组里每个元素是图的一条边。其中存的每一条边都包含这些信息:顶点v与u,边的权值。 图论 2022年04月23日 74 点赞 0 评论 91930 浏览
树形DP概念和实例讲解 一、什么是树型动态规划顾名思义,树型动态规划就是在“树”的数据结构上的动态规划,平时作的动态规划都是线性的或者是建立在图上的,线性的动态规划有二种方向既向前和向后,相应的线性的动态规划有二种方法既顺推与逆推,而树型动态规划是建立在树上的,所以也相应的有二个方向:(1)叶->根:在回溯的时候从叶子节点往 动态规划 2022年02月06日 249 点赞 0 评论 96015 浏览
set theory(集合论) 1.集合论简介集合论,是数学的一个基本的分支学科,研究对象是一般集合。集合论在数学中占有一个独特的地位,它的基本概念已渗透到数学的所有领域。集合论或集论是研究集合(由一堆抽象物件构成的整体)的数学理论,包含了集合、元素和成员关系等最基本的数学概念。 C++STL库教程(附带题库) 2022年02月19日 254 点赞 0 评论 88406 浏览
C++字符串常用操作(二) 1.字符串连接操作顾名思义,即将一个字符串链接到另一个字符串的尾部,我们可以创建一个函数,同时利用指针,分别先后全部遍历两个字符串,将其中一个字符串的结束符’\0’去除并链接另一个字符串直到遇到结束符’\0’即可,函数实现为:#include<stdio.h>char*_strcat(chardest 串、数组、矩阵和广义表 2022年03月28日 124 点赞 0 评论 74766 浏览
堆排序算法C/C++代码图文讲解 (1)堆的概念所谓堆,它是一个数组,也能够被看成一个近似的全然二叉树。树上每一个结点相应数组的一个元素。二叉堆分为二种:最大堆和最小堆。本文主要介绍最大堆,最小堆类似。最大堆的特点:对于随意某个结点,该结点的值大于左孩子、右孩子的值,可是左右孩子的值没有要求。 排序算法 2022年04月23日 193 点赞 0 评论 96746 浏览
字符串匹配实例讲解 本篇主要讲字符串匹配以及字符串算法中三个主要算法的一些内容,帮助大家理解。一、基本概念字符串匹配问题假设文本是一个长度为n的数组T[1…n],而模式是一个长度为m的数组P[1…m],其中m≤n,进一步假设P和T的元素都是来自一个有限的字母集∑的字符。 字符串相关 2022年01月25日 213 点赞 0 评论 91934 浏览
C++STL之stack栈容器 1.再谈栈回顾一下之前所学的栈,栈是一种先进后出的数据结构,而实现方式需要创建多个结构体,通过链式的方式进行实现,这是标准的栈的思路,而在STL中栈可以以更为简单的方式实现。2.头文件头文件#include<stack>3.初始化格式为:explicitstack(constcontainer_typ C++STL库教程(附带题库) 2022年04月30日 192 点赞 0 评论 88385 浏览
简述旋转卡壳 1978年,M.I.Shamos'sPh.D.的论文"ComputationalGeometry"标志着计算机科学的这一领域的诞生。当时他发表成果的是一个寻找凸多边形直径的一个非常简单的算法,即根据多边形的一对点距离的最大值来确定。一、定义旋转卡壳算法在凸包算法的基础上, 计算几何 2022年02月04日 226 点赞 0 评论 72658 浏览
什么是虚树? 当我们遇到一类频繁询问关键点信息的题目时,往往数据范围颇大,而对关键点总和有一定限制,此时我们可以建立虚树,将问题规模转化为关键点总和级别的。一、定义什么是虚树?当我们在树上有部分结点是无用的或用处不大的时,我们可以将其在树上删去,仅仅保留关键点和连接关键点的边。 图论 2022年01月16日 194 点赞 0 评论 78648 浏览
动态DP实例讲解 一、简介有一类问题,它可以采用DP解决。但是,如果我们加入区间查询,单点修改甚至区间修改,普通DP望尘莫及。于是,动态DP就应运而生了。二、例题例题一:给定一个长度为n的序列,你需要维护两种操作:①查询一个区间的最大子段和;②单点修改(即将一个位置上的数改成另一个数)Solution首先, 动态规划 2022年02月26日 121 点赞 0 评论 104145 浏览