- 博客(9)
- 收藏
- 关注
原创 修理牧场(算最少锯木费用)
农夫需要将一条长木头锯成N段,每段长度为给定的整数。每次锯木头的费用等于被锯木头的长度。为了最小化总费用,可以使用最小堆(优先队列)来优化锯木顺序。具体步骤如下:首先将所有木块长度插入最小堆,然后每次取出最小的两段合并,并将合并后的长度重新插入堆中,同时累加费用。重复此过程直到堆中只剩一段,此时的总费用即为最小费用。通过这种方法,可以确保每次合并的费用最小,从而降低总费用。代码实现中,使用最小堆来高效地获取和合并最小长度的木块,最终输出最小总费用。
2025-05-15 11:21:40
191
原创 最短路径救援队
该问题要求在城市地图中找到从出发地到目的地的最短路径,并在此过程中召集尽可能多的救援队。输入包括城市数量、道路数量、出发地和目的地,以及每个城市的救援队数量和道路长度。通过Dijkstra算法,计算最短路径,并记录路径条数和最大救援队数量。最终输出最短路径条数、最大救援队数量以及路径经过的城市编号。代码使用邻接表存储图结构,并通过松弛操作更新最短路径和救援队数量。
2025-05-15 11:16:46
143
原创 Vlan划分实验
在两台交换机上实现不同VLAN网络的划分,首先需要将四台PC分别连接到两台交换机上,并为每台PC分配IP地址。通过ping测试确认PC之间的连通性后,进行VLAN的配置。在每台交换机上创建两个VLAN(VLAN20和VLAN30),并将PC对应的交换机端口分配到相应的VLAN中。为了确保不同交换机上的相同VLAN能够通信,需要将交换机之间的连接端口设置为Trunk模式。完成配置后,再次进行ping测试,确认同一VLAN内的PC可以通信,而不同VLAN的PC无法通信,从而验证VLAN划分的成功。
2025-05-14 00:16:28
411
原创 C语言编程练习2
count函数里头if(s[i]==‘\0’)语句的作用有两个,第一,判断s数组第一个元素是否等于\0,若是,直接返回值0,即代表s数组里无单词。a[i][j]是二维数组每个元素,a[m][n]是最大值,a[i][j]中但凡有比暂定的a[m][n]大的,就开始最大值下标的刷新。显然易见,也存在规律。即两条对角线上的元素都为1,其余的元素可构成四个三角形区域,上边是2,左边是3,右边是4,下边是5。通过分析行变量i和列变量j的关系,可写出5个判断表达式(其中第五个可不写,因为剩余的元素最后是可以确定的)。
2023-12-13 21:59:35
489
1
原创 C语言编程练习1
一般我们采用的是循环的方式来实现的,只需将自定义函数jiecheng里头改动一下,变量f是作为累成器,初始值必须是1,因为1乘上任何数为该数本身。逆序输出的时候要注意,循环变量i是从N-1,即9的位置开始,再去自减,最后到0为止。5.下列程序中函数find_replace的功能是:在 s1指向的字符串中查找s2指向的字符串,并用s3指向的字符串替换在s1中找到的所有s2字符串。这里不知道为啥,当输入数组变量的时候,第一行的提示性文字会少了前一段内容,满是疑惑,可能是软件的问题。+n),n的值由键盘输入。
2023-12-11 17:38:49
576
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人