算法

C/C++如何设计函数多返回值?

C/C++如何设计函数多返回值?有那么一种情况,函数本身需要返回多个值,如在地图参数中需要返回二维坐标(x,y),或者是系统设计中需要返回一个学生多门课程的成绩。这里提供了一些做法和思路。1.全局变量,为什么不用它?如,这样的方法,……

上下界网络流总结

上下界网络流总结上下界网络流可以看做普通网络流的升级版,现在对于流量网络,我们不再只关注其流量的上界,而是同时关注流量的上下界。一、无源汇有上下界可行流这是上下界网络流中最简单的一种,给定一个没有源点和汇点、每条边的……

图的基础概念

图的基础概念图(Graph)是由顶点和连接顶点的边构成的离散结构。在计算机科学中,图是最灵活的数据结构之一,很多问题都可以使用图模型进行建模求解。图(Graph)通常会放在树(Tree)后面介绍,树可以说是图的特……

状态压缩DP图文实例讲解(二)

状态压缩DP图文实例讲解(二)本文是讲解状态压缩DP的第二部分,仍然是对基于连通性问题的探讨与学习。一些概念性的问题,以及基本解法在第一节中讲过,这里就不再赘述。对典例蒙德里安的梦想的分析直接看例题:求把N×M的棋盘分……

广义后缀自动机概述

广义后缀自动机概述广义后缀自动机的前置知识点是后缀自动机和字典树(Trie树)的相关内容,因为这两个知识点穿插在一起更容易理解和构建知识框架。当我们的是动机如何储存一个字符串的所有子串?该怎么办?怎么做?后缀自动机的作……

排序算法简介

排序算法简介什么是排序?就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一……

枚举算法的思想与实例讲解

枚举算法的思想与实例讲解枚举算法是我们在日常中使用到的最多的一个算法,本篇将会介绍枚举算法的思想与实例讲解,在使用频率上,枚举算法在蓝桥杯比赛里用的次数非常多,所以需要在平时多练习做题,毕竟实践检验真理,毕竟枚举在考试中出现……

简述旋转卡壳

简述旋转卡壳1978年,M.I.Shamos'sPh.D.的论文"ComputationalGeometry"标志着计算机科学的这一领域的诞生。当时他发表成果的……

什么是虚树?

什么是虚树?当我们遇到一类频繁询问关键点信息的题目时,往往数据范围颇大,而对关键点总和有一定限制,此时我们可以建立虚树,将问题规模转化为关键点总和级别的。一、定义什么是虚树?当我们在树上有部分结点是无用的或用处不……

C++STL之Vector容器

C++STL之Vector容器1.概念Vector可以翻译为向量,或向量数组,至于为什么以向量命名,可以理解为一维空间也是存在向量的。Vector是最简单的序列是容器,就像数组一样,向量使用连续的存储位置作为元素,这意味着它们的元……