jjzjj

【离散数学】测试五 图论

1. n层正则m叉树一共有()片树叶。A. nmB. mnC. mn正确答案: B2.下图是一棵最优二叉树A. 对B. 错正确答案: B3. 要构造权为1,4,9,16,25,36,49,64,81,100一棵最优二叉树,则必须先构造权为5,9,16,25,36,49,64,81,100一棵最优二叉树.A. 对B. 错正确答案: A4.A. AB. BC. CD. D正确答案: C5.有n个结点的树,其结点度数之和是A. 2n+2B. 2nC. 2n-2

数据结构---图

(一)相关知识点图(graph):图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中的顶点的集合,E是图G中边的集合,E可以为空集。数据结构形式化定义:G=(V,E)    其中V={x|xdataobject}    E={VR}       VR={|p(x,y)∩(x,y∈V)}  VR是两顶点间的关系的集合,即边的集合。顶点(Vertex):图中的数据元素。线性表中数据元素叫元素,树中数据元素叫结点。   端点和邻接点: 在一个无向图中,若存在一条边,则称vi,vj为该边的两个端点,并称它们互为邻结点。  起点和终点 :在一个有向

习题1-增加删除顶点和边(邻接矩阵+邻接表)习题2-5 DFS和BFS

一个不知名大学生,江湖人称菜狗originalauthor:jackyLiEmail:3435673055@qq.comTimeofcompletion:2022.12.11Lastedited:2022.12.11目录​编辑习题1-增加删除顶点和边(邻接矩阵+邻接表)第1关:邻接矩阵表示存储结构,实现顶点和边的插入删除任务描述相关知识输入输出说明测试说明参考代码 第2关:邻接表表示存储结构,实现顶点和边的插入与删除任务描述相关知识输入输出说明测试说明参考代码习题2-5DFS和BFS第1关:习题2DFS非递归任务描述相关知识输入输出说明测试说明 参考代码第2关:习题3最短路径-邻接矩阵表示任务

动态规划(一):01背包问题和完全背包问题

动态规划目录动态规划1.01背包问题1.1题目介绍1.2思路一介绍(二维数组)1.3思路二介绍(一维数组)==空间优化==1.4思路三介绍(输入数据优化)2.完全背包问题2.1题目描述:2.2思路一(朴素算法)2.3思路二(将k优化处理掉)2.4思路三(优化j的初始条件)总结1.01背包问题1.1题目介绍1.2思路一介绍(二维数组)代码如下:#include#includeusingnamespacestd;constintN=1010;intv[N],w[N];//v[N]是物品体积w[N]是物品的价值intf[N][N];//f[i][j]在体积不超j的前提下,从i个物品中选择最大值int

中科大2007年复试机试题

中科大2007年复试机试题文章目录中科大2007年复试机试题第一题问题描述解题思路及代码第二题问题描述解题思路及代码第三题问题描述解题思路及代码第四题问题描述解题思路及代码第一题问题描述编写程序,判断给定数字是否是回文数。示例1输入:12输出:Y示例2输入:234输出:N解题思路及代码将输入的数字当做字符串处理会简单点。与Leetcode上的题目一致。#includeiostream>usingnamespacestd;intmain(){strings;while(cin>>s){inti=0;intj=s.size()-1;while(ij){if(s[i]!=s[j]){cout"N"e

【2022-09-14】米哈游秋招笔试三道编程题

第一题:最短子串题目描述米小游拿到了一个字符串,她想截取一个连续子串,使得该子串中包含至少k个连续的“mihoyo”。你可以帮米小游求出最短的子串长度,以及对应的子串位置吗?输入描述第一行输入两个正整数n和k,用空格隔开。第二行输入一个长度为n的、仅由小写字母组成的字符串。1≤k≤n≤200000222mihoyoyomihoyomimihoyo输出描述如果不存在这样一个连续子串,请输出-1。否则输出两个正整数l,r,代表选取的子串的左下标和右下标(整个字符串左下标为0,右下标为n-1)。请务必保证选择的连续子串包含至少k个"mihoyo",且长度是最短的。有多解时输出任意即可。013代码与测

马里奥(mario)

题目描述任天堂公司的人气游戏《超级马里奥》迎来了诞生35周年,为此公司推出了一个特殊版小游戏。游戏场景是这样的:马里奥来到了一条特殊的街区蘑菇街,蘑菇街从头到尾一共有N个蘑菇,编号1到N,每个蘑菇上都有一个整数代表这个蘑菇的能量值,马里奥从编号1到编号N去采集蘑菇,但是在采集的过程中有两个规则:①不连续收集两个能量值相同的蘑菇②如果一旦出现收集的蘑菇的能量值小于前面的那么后面再收集的蘑菇的能量值就要一直处于递减的趋势。现在给出N个蘑菇的能量值,请你计算一下马里奥能够收集的蘑菇的最大数量是多少?输入格式第一行,一个整数N表示蘑菇街上蘑菇的数量第二行,用空格隔开的N个整数,分别表示N个蘑菇的能量值

【图论】Dijkstra 算法求最短路 - 构建邻接矩阵(带权无向图)

文章目录例题:到达目的地的方案数题目描述代码与解题思路构建带权无向图的邻接矩阵例题:到达目的地的方案数题目链接:1976.到达目的地的方案数题目描述代码与解题思路funccountPaths(nint,roads[][]int)int{g:=make([][]int,n)//构建邻接矩阵fori,_:=rangeg{g[i]=make([]int,n)forj,_:=rangeg[i]{g[i][j]=math.MaxInt/2//到不了的地方就是无限大(初始化成这个值)}}for_,v:=rangeroads{//无向图x,y,d:=v[0],v[1],v[2]g[x][y]=dg[y][x

【深度优先】【图论】【C++算法】2045. 到达目的地的第二短时间

作者推荐视频算法专题LeetCode2045.到达目的地的第二短时间城市用一个双向连通图表示,图中有n个节点,从1到n编号(包含1和n)。图中的边用一个二维整数数组edges表示,其中每个edges[i]=[ui,vi]表示一条节点ui和节点vi之间的双向连通边。每组节点对由最多一条边连通,顶点不存在连接到自身的边。穿过任意一条边的时间是time分钟。每个节点都有一个交通信号灯,每change分钟改变一次,从绿色变成红色,再由红色变成绿色,循环往复。所有信号灯都同时改变。你可以在任何时候进入某个节点,但是只能在节点信号灯是绿色时才能离开。如果信号灯是绿色,你不能在节点等待,必须离开。第二小的值

【图论】树链剖分

本篇博客参考:【洛谷日报#17】树链剖分详解OiWiki树链剖分文章目录基本概念代码实现常见应用路径维护:求树上两点路径权值和路径维护:改变两点最短路径上的所有点的权值求最近公共祖先基本概念首先,树链剖分是什么呢?简单来说,就是把一棵树分成很多条链,然后利用数据结构(线段树、树状数组)维护链上的信息下面是一些定义:重子结点:父亲结点的所有儿子结点中子树结点数目最多的结点称为重子结点轻子结点:父亲结点的所有儿子中除了重子结点的其他结点称为轻子结点如果某个结点是叶子结点,那么它既没有重子结点也没有轻子结点重边:父亲结点和重子结点连成的边轻边:父亲结点和轻子结点连成的边重链:多条重边连接成的链轻链: