二维树状数组及(不会用到的)三维树状数组 前置芝士 一维树状数组(lowbit) 二维树状数组 二维树状数组涉及到两种基本操作,修改矩阵中的一个点,查询子矩阵的和 首先是修改点的操作: void update(int x,int y,int z){ //坐标为(x,y)的点增加z for(int i ...
分类:
编程语言 时间:
2020-07-19 17:57:19
阅读次数:
58
迷宫问题:定义一个矩阵:0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。【输入】一个5 × 5的二维数组,表示一个迷宫。数据保证有唯 ...
分类:
其他好文 时间:
2020-07-19 15:54:32
阅读次数:
59
指针变量与应用——动态数组 在C++中,有一种神奇的变量,它不可以表示一个值,但是可以表示某个元素的地址,通过地址来访问这个元素。 打个比方:你有一张地图和一个坐标,你就可以通过访问这个坐标来达到你访问坐标所表示的元素的目的。指针变量就是这个“坐标”。 下面我们来具体看看指针变量的应用。 1、指针变 ...
分类:
编程语言 时间:
2020-07-19 13:51:09
阅读次数:
106
数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。 与大部分编程语言类似,数组元素的下标由0开始。 Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: array_name=(value1 ... val ...
分类:
编程语言 时间:
2020-07-18 22:46:45
阅读次数:
79
一、技术总结 关于最短路径的问题,可以将问题化简,为两个部分,一个是单独使用Dijkstra求最短路径,然后再使用DFS进行第二判定条件再选出合适的路径; 其中推荐使用邻接表来存储图的信息,至于其他边权可以使用二维数组进行存储,如果点权直接使用结构体进行存储信息; 如果有多个判定条件,应该分别使用D ...
分类:
其他好文 时间:
2020-07-18 13:40:01
阅读次数:
55
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。大多数提供科学计算的包都是用NumPy的数组作为构建基础。 NumPy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。 用于对整组数据进行快速运算的标准数学函数( ...
分类:
编程语言 时间:
2020-07-17 22:16:48
阅读次数:
89
其实这一部分的知识在前面我也算是学了一些了,今天老师讲的是一些应用部分,结果我发现自己一脸懵逼,有些题我甚至连这是最短路都没有看出来。看来还并没有修炼到一定的水准,并且我还是发现一些自己还没有学习过的知识,下面我们就先从链式前向星开始说起。 1、链式前向星 首先我们就来介绍一下这个东西是个什么。 图 ...
分类:
其他好文 时间:
2020-07-17 19:19:21
阅读次数:
58
我闷今天的目的就是通过这道题初步理解一下状态压缩类动态规划 首先我们先来介绍一下定义,所谓状态压缩类动态规划,顾名思义,这是以集合信息为状态的特殊的动态规划问题。主要有传统集合动态规划和基于连通性状态压缩的动态规划两种。 因为某些动态规划的需求信息量非常的大,并且我们为每一个信息开一维数组这样的做法 ...
分类:
其他好文 时间:
2020-07-17 13:54:46
阅读次数:
60
数组-指针-字符串 数组 数组的定义与初始化 类型符 数组名[常量表达式]; 数组必须先定义,再使用 数组名字是数组首元素的内存地址,是一个常量,不能被赋值 数组可以作为函数的参数:形参会影响实参,一般数组长度也要作为参数传入 对象数组 int a[10]; //定义整形一维数组 int a[2][ ...
分类:
编程语言 时间:
2020-07-16 21:52:35
阅读次数:
68
##二维数组 二维数据在定义上有一个好玩的事情,看代码: a = [0,0,0,0,0] b = [a,a,a,a] b[0][1] = 1 print(b) 看样子是创建了一个二维数组,但是b[0][1] = 1后会发现每个列表的[0][1]位置都被改变了。也就是说这样建的数组只是复制了3个a的引 ...
分类:
编程语言 时间:
2020-07-15 22:46:11
阅读次数:
68