2024年美赛 (B题MCM)| 潜水艇 |数学建模完整代码+建模过程全解全析

本文主要是介绍2024年美赛 (B题MCM)| 潜水艇 |数学建模完整代码+建模过程全解全析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。
让我们来看看美赛的B题!
完整内容可以在文章末尾领取!
在这里插入图片描述

问题重述:

Maritime Cruises Mini-Submarines (MCMS)是一家位于希腊的公司,他们制造能够携带人类前往海洋最深处的潜水艇。这些潜水艇被移动到目的地并从主机船只中释放,不需要连接线。MCMS现在希望利用他们的潜水艇带领游客探索爱奥尼亚海底的沉船遗迹。然而,在他们能够这样做之前,他们需要赢得监管机构的批准,制定在与主船失去通信以及潜水艇出现机械故障(包括动力丧失)的情况下的安全程序。特别是,他们希望您开发一个模型,以预测潜水艇随时间的位置。与在陆地或海面进行典型的搜救不同,出现故障的潜水艇可能会定位在海底或水下某个中性浮力点。其位置可能会受到洋流、海水密度的差异和/或海底地形的影响。您的任务是:

  1. 定位 - 开发一个能够预测潜水艇随时间位置的模型。
    • 这些预测存在哪些不确定性?
    • 潜水艇在事故发生前可以定期向主船发送哪些信息来减少这些不确定性?潜水艇需要什么样的设备来实现?
  2. 准备 - 您是否建议公司在主船上携带其他搜索设备?您可能会考虑不同类型的设备,但必须考虑到设备的可用性、维护、准备和使用成本。如果需要,搜救船只可能需要携带什么样的额外设备来协助搜救?
  3. 搜索 - 开发一个模型,该模型将使用来自您的位置模型的信息,以推荐最初的部署点和搜索模式,以最大程度地减少找到失踪潜水艇所需的时间。确定找到潜水艇的概率作为时间和累积搜索结果的函数。
  4. 推演 - 您的模型如何扩展以考虑其他旅游目的地,如加勒比海?您的模型如何改变以考虑在同一大致区域移动的多个潜水艇?

请准备一份不超过25页的报告,提供您的计划详细信息。包括一份面向希腊政府的两页备忘录。

问题一

当建立潜水艇位置的预测模型时,我们需要考虑潜水艇的动力学、外部环境的影响以及通信限制。以下是详细的建模步骤:

  1. 位置变化的建模:
  • 三维坐标系: 使用三维坐标系来表示潜水艇的位置。设 x ( t ) x(t) x(t) y ( t ) y(t) y(t) z ( t ) z(t) z(t) 为潜水艇在时间 t t t 的位置。
  • 位置的动力学: 使用微分方程描述潜水艇位置的动力学。这可能涉及速度和加速度,可以使用牛顿的运动方程。
  • 外部环境的影响: 考虑洋流、水密度变化和海底地形等外部因素对潜水艇位置的影响。这些因素可能导致潜水艇的漂移和深度变化。

d x d t = v x ( t ) \frac{dx}{dt} = v_x(t) dtdx=vx(t)
d y d t = v y ( t ) \frac{dy}{dt} = v_y(t) dtdy=vy(t)
d z d t = v z ( t ) \frac{dz}{dt} = v_z(t) dtdz=vz(t)

其中 v x ( t ) v_x(t) vx(t) v y ( t ) v_y(t) vy(t) v z ( t ) v_z(t) vz(t) 分别表示潜水艇在三个方向上的速度。

  1. 动力学模型:
  • 失去推进力: 考虑潜水艇可能失去推进力的情况。这可能是由于机械故障、燃料耗尽等原因。
  • 旋转: 如果潜水艇可以旋转,考虑旋转对其运动的影响。

例如:  d v x d t = − k ⋅ v x ( t ) \text{例如: } \frac{dv_x}{dt} = -k \cdot v_x(t) 例如dtdvx=kvx(t)

其中 k k k 是与失去推进力相关的参数。

  1. 不确定性的引入:
  • 随机过程: 引入随机过程来表示外部环境的不确定性。这可以包括洋流的随机性、水密度的不确定性等。
  • 模型参数的不确定性: 考虑动力学模型中的参数不确定性。

d x d t = f x ( x , y , z , t ) + ϵ x ( t ) \frac{dx}{dt} = f_x(x, y, z, t) + \epsilon_x(t) dtdx=fx(x,y,z,t)+ϵx(t)
d y d t = f y ( x , y , z , t ) + ϵ y ( t ) \frac{dy}{dt} = f_y(x, y, z, t) + \epsilon_y(t) dtdy=fy(x,y,z,t)+ϵy(t)
d z d t = f z ( x , y , z , t ) + ϵ z ( t ) \frac{dz}{dt} = f_z(x, y, z, t) + \epsilon_z(t) dtdz=fz(x,y,z,t)+ϵz(t)

其中 ϵ x ( t ) \epsilon_x(t) ϵx(t) ϵ y ( t ) \epsilon_y(t) ϵy(t) ϵ z ( t ) \epsilon_z(t) ϵz(t) 是表示不确定性的随机过程。

  1. 通信模型:
  • 位置信息发送事件: 建模潜水艇何时能够发送位置信息给主船。这可能涉及到通信设备的限制、潜水深度的限制等。
  • 通信事件函数 g ( t ) g(t) g(t): 该函数可能取决于时间、深度、或其他相关因素。

例如:  g ( t ) = { 1 如果通信事件发生 0 否则 \text{例如: } g(t) = \begin{cases} 1 & \text{如果通信事件发生} \\ 0 & \text{否则} \end{cases} 例如g(t)={10如果通信事件发生否则

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D# 潜水艇位置模型
def submarine_model(x, y, z, t):# 位置动力学模型,这里假设简单的线性运动dx_dt = 0.1dy_dt = 0.2dz_dt = -0.05return dx_dt, dy_dt, dz_dt# 通信事件模型
def communication_event(t):# 简化为时间的函数,这里假设每隔一段时间发送一次位置信息if t % 10 == 0:return 1else:return 0# 模拟潜水艇运动
def simulate_submarine_motion(total_time):time_points = np.arange(0, total_time, 1)positions = np.zeros((len(time_points), 3))for i, t in enumerate(time_points):dx_dt, dy_dt, dz_dt = submarine_model(positions[i, 0], positions[i, 1], positions[i, 2], t)positions[i + 1, 0] = positions[i, 0] + dx_dtpositions[i + 1, 1] = positions[i, 1] + dy_dtpositions[i + 1, 2] = positions[i, 2] + dz_dt# 模拟通信事件if communication_event(t):print(f"Time {t}: Sending position - x: {positions[i, 0]}, y: {positions[i, 1]}, z: {positions[i, 2]}")return time_points, positions# 三维可视化
def plot_submarine_motion(time_points, positions):fig = plt.figure()ax = fig.add_subplot(111, projection='3d')ax.plot3D(positions[:, 0], positions[:, 1], positions[:, 2], label='Submarine Motion', linewidth=2)ax.scatter(positions[:, 0], positions[:, 1], positions[:, 2], color='red', marker='o', label='Communication Events')#见完整版

问题二

我们需要进一步考虑一些因素,包括设备的效果、搜索模式、起始点选择以及时间分布等。

1. 设备选择和性能:

设备性能: P ( E i ) P(E_i) P(Ei)

设备成本: C ( E i ) C(E_i) C(Ei)

2. 设备部署策略:

搜索模式选择: P ( M ) P(M) P(M)

起始点确定: P ( S ) P(S) P(S)

3. 搜索设备效果建模:

设备检测概率: P ( D ∣ E i , M ) P(D|E_i, M) P(DEi,M)

设备未检测到的概率: P ( ¬ D ∣ E i , M ) = 1 − P ( D ∣ E i , M ) P(\neg D|E_i, M) = 1 - P(D|E_i, M) P(¬DEi,M)=1P(DEi,M)

4. 搜救时间和效果评估:

时间建模: P ( T ) P(T) P(T)

搜救成功概率: P ( R ∣ E i , M , T , S ) P(R|E_i, M, T, S) P(REi,M,T,S)

P ( R ∣ E i , M , T , S ) = P ( D ∣ E i , M ) ⋅ P ( S ) ⋅ ( 1 − ∏ t = 1 T P ( ¬ D ∣ E i , M , t ) ) P(R|E_i, M, T, S) = P(D|E_i, M) \cdot P(S) \cdot \left(1 - \prod_{t=1}^{T} P(\neg D|E_i, M, t)\right) P(REi,M,T,S)=P(DEi,M)P(S)(1t=1TP(¬DEi,M,t))

P ( ¬ D ∣ E i , M , t ) = ∏ j = 1 k P ( ¬ D j ∣ E i , M , t ) P(\neg D|E_i, M, t) = \prod_{j=1}^{k} P(\neg D_j|E_i, M, t) P(¬DEi,M,t)=j=1kP(¬DjEi,M,t) (多个设备未检测到的联合概率)

5. 总体评估:

总体搜救成功概率: P ( R ) = ∑ i = 1 n P ( R ∣ E i , M , T , S ) ⋅ P ( E i ) ⋅ P ( M ) P(R) = \sum_{i=1}^{n} P(R|E_i, M, T, S) \cdot P(E_i) \cdot P(M) P(R)=i=1nP(REi,M,T,S)P(Ei)P(M)

import random# 设备性能
def device_performance(device):# 假设性能是随机的,实际情况需要根据实际数据或模型确定return random.uniform(0.5, 1.0)# 设备成本
def device_cost(device):# 假设成本是随机的,实际情况需要根据实际数据或模型确定return random.uniform(1000, 5000)# 设备选择和性能
devices = ["Sonar", "Camera", "Laser"]
device_probabilities = {device: device_performance(device) for device in devices}# 设备部署策略
search_modes = ["Spiral", "Grid"]
search_mode_probability = {"Spiral": 0.7, "Grid": 0.3}# 起始点选择
start_point_probability = 0.8# 时间建模
def time_model():# 假设时间是随机的,实际情况需要根据实际数据或模型确定return random.uniform(1, 10)# 设备检测概率建模
def detection_probability(device, search_mode):# 这里使用了随机值,实际情况需要根据实际数据或模型确定return device_probabilities[device] * random.uniform(0.5, 1.0)# 搜救成功概率建模
def rescue_probability(device, search_mode, time, start_point):detection_prob = detection_probability(device, search_mode)# 计算多个设备未检测到的联合概率undetected_prob = 1.0for t in range(1, int(time) + 1):undetected_prob *= (1 - detection_probability(device, search_mode))return detection_prob * start_point_probability * (1 - undetected_prob)#见完整版

问题三

建模思路整合:

在问题三中,我们需要将搜救模型扩展到考虑其他旅游目的地以及多潜水艇在同一区域的协同搜救情况。以下是整合后的建模思路:

1. 适应其他旅游目的地:

位置变化模型:
P ( L new ∣ L old , G ) P(L_{\text{new}} | L_{\text{old}}, G) P(LnewLold,G)

解释: 此模型考虑了地理因素 G G G 对潜水艇位置的影响,使模型具有适应不同旅游目的地的能力。

模型调整和公式变化:
P ( R ∣ L , E , M , T , S ) P(R | L, E, M, T, S) P(RL,E,M,T,S)

解释: 原有搜救模型被扩展,引入了位置信息 L L L,考虑到不同目的地可能需要调整设备性能、搜索模式等参数。

2. 多潜水艇移动:

位置变化模型(考虑速度和方向):
P ( L new i ∣ L old i , V i , Θ i , G ) P(L_{\text{new}_i} | L_{\text{old}_i}, V_i, \Theta_i, G) P(LnewiLoldi,Vi,Θi,G)

解释: 考虑了速度 V V V、方向 Θ \Theta Θ 和地理因素 G G G 的情况下,描述了第 i i i 艘潜水艇位置变化的概率。

通信协同:
P ( C success i ∣ L i , L j , P comm ) P(C_{\text{success}_i} | L_i, L_j, P_{\text{comm}}) P(CsuccessiLi,Lj,Pcomm)

解释: 该公式表示在给定通信设备参数 P comm P_{\text{comm}} Pcomm 的情况下,第 i i i 艘潜水艇和其他潜水艇的协同通信成功概率。协同通信对于避免碰撞和提高搜索效率至关重要。

3. 总体评估:

多潜水艇协同搜救总体概率:
P ( 总体搜救成功 ) = ∑ i = 1 n P ( R i ∣ L i , E , M , T , S ) ⋅ P ( L new i ∣ L old i , V i , Θ i , G ) ⋅ P ( C success i ∣ L i , L j , P comm ) P(\text{总体搜救成功}) = \sum_{i=1}^{n} P(R_i | L_i, E, M, T, S) \cdot P(L_{\text{new}_i} | L_{\text{old}_i}, V_i, \Theta_i, G) \cdot P(C_{\text{success}_i} | L_i, L_j, P_{\text{comm}}) P(总体搜救成功)=i=1nP(RiLi,E,M,T,S)P(LnewiLoldi,Vi,Θi,G)P(CsuccessiLi,Lj,Pcomm)

解释: 该公式综合考虑了多艘潜水艇的搜救成功概率、位置变化概率和协同通信概率。通过对所有潜水艇的贡献进行求和,得到总体协同搜救成功的概率。

这一整体建模思路允许模型适应不同的旅游目的地,并考虑多潜水艇在同一区域的协同搜救情况。

import random# 适应其他旅游目的地
def position_change_probability(new_position, old_position, geography_factors):# 模拟位置变化概率,实际应用中需要基于实际数据或模型return random.uniform(0.1, 0.9)# 搜救模型
def search_and_rescue_probability(location, equipment, search_mode, time, start_point):# 模拟搜救成功概率,实际应用中需要基于实际数据或模型return random.uniform(0.1, 0.9)# 多潜水艇移动
def position_change_model(new_position, old_position, speed, direction, geography_factors):# 模拟位置变化概率,实际应用中需要基于实际数据或模型return random.uniform(0.1, 0.9)# 通信协同
def communication_cooperation_probability(location_i, location_j, communication_params):# 模拟通信协同成功概率,实际应用中需要基于实际数据或模型return random.uniform(0.1, 0.9)# 多潜水艇协同搜救总体概率
def total_rescue_probability(num_submarines, equipment, search_mode, time, start_point, communication_params):total_probability = 0for i in range(num_submarines):# 适应其他旅游目的地position_change_prob = position_change_probability(new_position, old_position, geography_factors)# 搜救模型search_rescue_prob = search_and_rescue_probability(location, equipment, search_mode, time, start_point)# 多潜水艇移动position_change_prob_multi_sub = position_change_model(new_position, old_position, speed, direction, geography_factors)# 通信协同communication_cooperation_prob = communication_cooperation_probability(location_i, location_j, communication_params)# 多潜水艇协同搜救总体概率total_probability += search_rescue_prob * position_change_prob_multi_sub * communication_cooperation_probreturn total_probability# 示例调用
num_submarines = 3
equipment = "Sonar"
search_mode = "Spiral"
time = 5
start_point = (0, 0)
communication_params = {"range": 100, "frequency": "UHF"}
geography_factors = {"depth": 500, "current_speed": 2}# 填充实际数据或模型参数
new_position = (random.uniform(0, 100), random.uniform(0, 100))
old_position = (random.uniform(0, 100), random.uniform(0, 100))
speed = random.uniform(1, 5)#见完整版

问题四

问题四涉及如何将模型扩展以考虑其他旅游目的地(例如加勒比海),以及多个潜水艇在相同区域的情况。下面是详细的建模思路:

1. 适应其他旅游目的地:

位置变化模型:

P ( L new ∣ L old , G ) P(L_{\text{new}} | L_{\text{old}}, G) P(LnewLold,G)

解释: 这个公式表示在考虑地理因素 G G G 的情况下,潜水艇从旧位置 L old L_{\text{old}} Lold 移动到新位置 L new L_{\text{new}} Lnew 的概率。考虑到不同的旅游目的地可能有不同的地理特征,例如加勒比海与爱奥尼亚海,模型需要考虑不同的地理因素。

模型调整和公式变化:

P ( R ∣ L , E , M , T , S ) P(R | L, E, M, T, S) P(RL,E,M,T,S)

解释: 这个公式是原有搜救模型的扩展,包括了位置信息 L L L。在不同目的地,地理环境的变化可能会影响设备性能、搜索模式等,因此模型需要相应调整。这可能包括设备对不同海域的适应性、搜索策略的调整等。

2. 多潜水艇移动:

位置变化模型(考虑速度和方向):

P ( L new i ∣ L old i , V i , Θ i , G ) P(L_{\text{new}_i} | L_{\text{old}_i}, V_i, \Theta_i, G) P(LnewiLoldi,Vi,Θi,G)

解释: 这个公式表示在考虑速度 V V V、方向 Θ \Theta Θ 和地理因素 G G G 的情况下,第 i i i 艘潜水艇从旧位置 L old i L_{\text{old}_i} Loldi 移动到新位置 L new i L_{\text{new}_i} Lnewi 的概率。考虑到多艘潜水艇可能相互影响,速度和方向可能需要根据协同效应进行调整。

通信协同:

P ( C success i ∣ L i , L j , P comm ) P(C_{\text{success}_i} | L_i, L_j, P_{\text{comm}}) P(CsuccessiLi,Lj,Pcomm)

解释: 这个公式表示在给定通信设备参数 P comm P_{\text{comm}} Pcomm 的情况下,第 i i i 艘潜水艇和其他潜水艇的协同通信成功的概率。协同通信对于避免碰撞和提高搜索效率非常重要。

3. 总体评估:

多潜水艇协同搜救总体概率:

P ( 总体搜救成功 ) = ∑ i = 1 n P ( R i ∣ L i , E , M , T , S ) ⋅ P ( L new i ∣ L old i , V i , Θ i , G ) ⋅ P ( C success i ∣ L i , L j , P comm ) P(\text{总体搜救成功}) = \sum_{i=1}^{n} P(R_i | L_i, E, M, T, S) \cdot P(L_{\text{new}_i} | L_{\text{old}_i}, V_i, \Theta_i, G) \cdot P(C_{\text{success}_i} | L_i, L_j, P_{\text{comm}}) P(总体搜救成功)=i=1nP(RiLi,E,M,T,S)P(LnewiLoldi,Vi,Θi,G)P(CsuccessiLi,Lj,Pcomm)

解释: 这个公式整合了多艘潜水艇的搜救成功概率、位置变化概率和协同通信概率。通过对所有潜水艇的贡献进行求和,得到总体协同搜救成功的概率。这个概率可以帮助评估多潜水艇协同搜救的效果。

4. 适应多个潜水艇和多个目的地:

位置变化模型(考虑多潜水艇和多个目的地):

P ( L new i ∣ L old i , V i , Θ i , G d ) P(L_{\text{new}_i} | L_{\text{old}_i}, V_i, \Theta_i, G_d) P(LnewiLoldi,Vi,Θi,Gd)

解释: 这个公式在原有位置变化模型的基础上,考虑了不同目的地 d d d 对潜水艇位置变化的影响。可能需要额外的参数来区分不同目的地的地理特征。

多潜水艇协同通信:

P ( C success i ∣ L i , L j , P comm ) P(C_{\text{success}_i} | L_i, L_j, P_{\text{comm}}) P(CsuccessiLi,Lj,Pcomm)

解释: 在协同通信模型中,可能需要考虑多潜水艇之间的相互作用,以及它们在不同目的地中的通信效果。

import random# 适应其他旅游目的地
def position_change_probability(new_position, old_position, geography_factors):# 模拟位置变化概率,实际应用中需要基于实际数据或模型depth_difference = abs(geography_factors["depth"] - new_position[1])  # 模拟深度差异current_speed = geography_factors["current_speed"]  # 模拟海流速度# 模型调整:深度差异和海流速度对位置变化的影响probability = 0.7 - 0.005 * depth_difference + 0.01 * current_speedreturn max(0, min(1, probability))  # 保证概率在[0, 1]范围内# 多潜水艇移动
def position_change_model(new_position, old_position, speed, direction, geography_factors):# 模拟位置变化概率,实际应用中需要基于实际数据或模型depth_difference = abs(geography_factors["depth"] - new_position[1])  # 模拟深度差异current_speed = geography_factors["current_speed"]  # 模拟海流速度# 模型调整:深度差异和海流速度对位置变化的影响probability = 0.8 - 0.006 * depth_difference + 0.008 * current_speedreturn max(0, min(1, probability))  # 保证概率在[0, 1]范围内# 通信协同
def communication_cooperation_probability(location_i, location_j, communication_params):# 模拟通信协同成功概率,实际应用中需要基于实际数据或模型distance = ((location_i[0] - location_j[0]) ** 2 + (location_i[1] - location_j[1]) ** 2) ** 0.5# 模型调整:距离对通信协同的影响probability = 0.9 - 0.005 * distancereturn max(0, min(1, probability))  # 保证概率在[0, 1]范围内# 多潜水艇协同搜救总体概率
def total_rescue_probability(num_submarines, equipment, search_mode, time, start_point, communication_params, destination_factors):total_probability = 0for i in range(num_submarines):# 适应其他旅游目的地position_change_prob = position_change_probability(new_position, old_position, destination_factors)# 多潜水艇移动position_change_prob_multi_sub = position_change_model(new_position, old_position, speed, direction, destination_factors)# 通信协同communication_cooperation_prob = communication_cooperation_probability(location_i, location_j, communication_params)# 多潜水艇协同搜救总体概率total_probability += position_change_prob_multi_sub * communication_cooperation_probreturn total_probability# 示例调用
num_submarines = 3
equipment = "Sonar"
search_mode = "Spiral"
time = 5
start_point = (0, 0)
communication_params = {"range": 100, "frequency": "UHF"}
destination_factors = {"depth": 500, "current_speed": 2}# 填充实际数据或模型参数
new_position = (random.uniform(0, 100), random.uniform(0, 100))
old_position = (random.uniform(0, 100), random.uniform(0, 100))#见完整版

更多内容具体可以看看我的下方名片!里面包含有认证杯一手资料与分析!
另外在赛中,我们也会陪大家一起解析认证杯的一些方向
关注 CS数模 团队,数模不迷路~

这篇关于2024年美赛 (B题MCM)| 潜水艇 |数学建模完整代码+建模过程全解全析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670252

相关文章

MWC 2024 | 广和通携手意法半导体发布智慧家居解决方案

世界移动通信大会2024期间,广和通携手横跨多重应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,以下简称ST;纽约证券交易所代码:STM)发布支持Matter协议的智慧家居解决方案。该方案在广和通模组FG370的5G FWA解决方案基础上集成了ST的STM32WB55 微控制器(MCU)芯片,实现了跨系统、跨平台、跨协议的智慧家居设备的连接、控制和数据共享。

地磁场建模教程

在本科阶段,很多同学可能会涉及到一些建模要求。笔者在这里公布自己的建模历程,希望可以帮到大家捏。 地磁场由不同场源的贡献组成,主要来自地球液态外核、地壳/上地幔、电离层、磁层等几个部分。若从地面台站数据出发,电离层和磁层可以归为外源,而从卫星数据出发则将电离层归为内源,磁层作为外源。地磁场是各种磁场成分的叠加,且各组成部分之间存在相互作用。其中,主磁场(即地核磁场)约占地球总磁场的

2024年华为OD机试真题-高效货运-Python-OD统一考试(C卷)

题目描述: 1.老李是货运公司承运人,老李的货车额定载货重量为wt 2.现有两种货物,货物A单件重量为wa,单件运费利润为pa,货物B单件重量为wb,单件运费利润为pb 3.老李每次发车时载货总重量刚好为货车额定载货重量wt,车上必须同时有货物A和货物B,货物A、B不可切割 4.老李单车次满载运输可获得的最高利润是多少 输入描述: 第一列输入为货物A的单件重量wa,0<wa<10000 第二列输

2024-2-29-网络编程作业

1>TCP 源代码: 服务器端: #include <myhead.h>#define SER_IP "10.168.1.111"#define SER_PORT 8888#define MAXSIZE 128int main(int argc, char const *argv[]){int sfd = socket(AF_INET, SOCK_STREAM, 0);struct

CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)

---恢复内容开始--- CentOS 6.6 升级GCC G++ (当前最新GCC/G++版本为v6.1.0) 没有便捷方式, yum update....   yum install  或者 添加yum 的 repo 文件 也不行, 只能更新到 4.4.7! then,  只能手动编译安装了,那么开始第一步下载源代码吧,GO! 1、 获取安装包并解压 wget http://

DNS-正反向解析 包含排错过程:2h的排错不负所望

yigiao ----域名系统---------域名结构----DNS-----服务器类型 构建DNS域名解析服务器步骤构建域名服务器反向解析的详细步骤实验错误指出:2小时排错的结果。。根本看不出来的小细节如下指出 不看一定后悔。 ----域名系统---- 1、DNS定义:DNS是“域名系统”的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网

代码随想录第天 78.子集 90.子集II

LeetCode 78 子集 题目描述 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2: 输入:nums = [0]输出:[[]

C++设计模式之——享元模式详解和代码案例

文章目录 C++中实现享元模式通常涉及以下几个关键部分:一个简单的C++代码片段示例享元模式的进一步说明C++享元模式代码案例——咖啡店订单系统享元模式在现实世界的应用场景 C++中实现享元模式通常涉及以下几个关键部分: 享元模式(Flyweight Pattern)是一种用于性能优化的设计模式,它通过共享对象来有效支持大量的细粒度对象,以减少内存消耗。这种模式适用于那些对象中

代码随想录算法训练营day46 | 139.单词拆分、多重背包了解

139.单词拆分 动态规划五部曲 确定dp数组及下标的含义:字符串数组为j的时候,dp[j]为true代表可以拆分为在字典中出现的单词确定递推公式:if([j, i] 这个区间的子串出现在字典里 && dp[j]是true) 那么 dp[i] = truedp数组初始化:为了推导公式,dp[0] = true,其它字段都初始化为False确定遍历顺序:完全背包问题(背包从小到大遍历),排列问题

当代码遇上电影:程序员必看的五大科幻神作!

对于计算机专业的学生或从业者来说,观看一些与计算机科学和技术相关的电影不仅可以放松身心,还能从中获得一些启发和思考。笔者还记得本科时期,班里两位中二的男同学相约买了黑风衣+墨镜,从大一穿到大四,可见黑客帝国对计算机专业学生的影响力~以下是一些建议的计算机专业必看电影: 《黑客帝国》(The Matrix):这部电影以其革命性的特效和动作场面著称,同时更深刻地探讨了虚拟现实和人工智能等概念。电影中