2025年中青杯数学建模A题康养城市建设求解全过程论文及程序

2025年中青杯数学建模

A题 康养城市建设

原题再现:

  2025 年全国两会期间,多位代表和委员围绕康养城市建设、智慧养老、医养融合等议题提出了重要建议。全国政协委员金李提出盘活"空置房"用于康养产业转型,全国人大代表程伟强调加快发展数字家庭,用科技之光照亮"银发生活"。此外,安徽省人民政府发布《关于支持康养产业高质量发展的意见》,提出要推动康养产业与医疗、旅游、文化等领域的深度融合。这些政策建议为康养城市建设提供了明确的方向和思路。在地方层面,广德市积极推进"康养名城"发展战略,通过优化康养设施布局、提升智慧养老水平、加强医养融合等措施,打造高品质的康养目的地。同时,吉林两会也明确表示要打造高品质旅居康养目的地,为当地特色文旅产业添砖加瓦。这些实践表明,康养城市建设不仅是国家层面的战略部署,也是地方发展的实际需求。然而,当前康养城市建设仍面临诸多挑战,如康养资源分布不均衡、智慧养老技术应用不足、医养融合深度不够等。如何在有限的资源条件下,优化康养设施布局,提升康养服务质量,推动智慧养老与康养产业的深度融合,是亟待解决的问题。请搜集相关数据,建立评价指标体系,完成以下问题。
  问题 1:康养资源分布的现状分析与优化需求
  康养城市的建设离不开对现有康养资源的全面评估。请收集或使用模拟数据分析某城市内不同区域的康养资源分布情况包括医疗设施、养老机构、公园绿地、文化设施等的数量和分布密度。同时,结合居民健康状况数据(如平均寿命、慢性病发病率、健康满意度等),分析当前康养资源分布的合理性。在此基础上,提出优化康养资源布局的初步思路,重点关注如何解决资源分布不均衡的问题,以提升康养服务的公平性和可达性。
  问题 2:康养城市综合评价模型的构建与应用
  康养城市的建设需要科学的评价体系来衡量其发展水平。请构建一个康养城市的综合评价模型,从康养资源丰富度、居民健康状况、环境质量、经济发展水平等多个维度设定评价指标,并通过模型计算,分析当前城市康养水平的优势与不足,并提出针对性的改进建议,为康养城市建设提供科学依据。
  问题 3:康养资源优化配置模型的建立与实施策略
  在有限的资源条件下,如何高效配置康养资源是康养城市建设的关键。请根据综合评价结果,建立一个康养资源优化配置模型,目标是最大化康养服务的覆盖率和资源利用效率,同时最小化成本。设计多目标优化函数,考虑康养设施的选址、数量、服务范围等因素,并使用线性规划或其他优化算法求解模型。最后,结合模型结果和问题1的研究成果,提出具体的实施策略,包括政策建议、资金投入方向、技术创新措施等,为政府制定康养城市发展规划提供依据。

整体求解过程概述(摘要)

  针对问题一,为探究某城市不同区域医疗设施、养老机构、公园绿地与文化设施的空间分布合理性,本文首先构造12个城区的可复现模拟数据,并按照"数据审计---缺失处理---量纲统一---结构性异常识别"的流程完成数据预处理。在此基础上,分别构造每10万人资源密度、Gini系数、变异系数与极差比刻画资源公平性,引入增强型两步移动搜寻法(E2SFCA)衡量供需耦合与距离衰减后的服务可达性,并结合Moran's I检验空间集聚。结果显示,公园绿地每10万人密度的Gini系数达到0.4260,明显高于医疗、养老和文化资源;综合可达性的Moran's I为-0.0898(p=0.5760),表明全局上不存在显著同值集聚,更接近"斑块化短缺"。进一步采用Spearman相关与HC3稳健标准误的多元回归解释健康差异,综合可达性标准化系数为正但未达显著水平,环境综合指数的作用更强。最终形成由"低可达性---高老龄化---低健康水平"共同驱动的优化需求指数,识别文教区、北新区、山麓区等重点补短板区域。
  针对问题二,鉴于问题一只能解释资源公平与健康联系,尚不足以刻画康养城市的系统发展水平,本文进一步从康养资源、居民健康、环境质量、经济发展、智慧医养五个维度构建19项指标体系。考虑到单一客观赋权方法可能过度依赖离散程度或相关结构,本文分别利用熵权法刻画指标信息量、利用CRITIC法刻画对比强度与指标冲突性,再以等权组合得到综合权重,随后采用TOPSIS计算各城区相对正负理想解的贴近度。结果显示,康旅区、远郊区、山麓区综合排名靠前,但其优势结构并不相同;南湖区、北新区、西城区位于后列,其首要短板分别集中在康养资源或居民健康。通过熵权、CRITIC、等权三种替代权重与组合权重排名进行Kendall秩相关检验,并实施1000次权重随机扰动,证明综合排名具有较好的方法一致性与参数稳健性。
  针对问题三,基于前两问的"短板识别---综合评价"结果,将问题一的优化需求指数与问题二的低综合贴近度融合为城区配置优先度,并构建同时包含新增设施数量变量与跨区服务流量变量的多目标混合整数线性规划模型。模型以最大化总体服务覆盖率、最大化兼顾距离衰减和重点区域的匹配效用、最小化投资成本为目标,并设置需求上限、设施容量、服务半径、整数数量和预算约束。通过多预算情景形成Pareto型效率---公平---成本前沿,再利用理想点折衷准则选取方案。模拟结果表明,在5980万元实际投资下,城市综合服务覆盖率由55.78%提升至61.19%,提高5.41个百分点,区域覆盖率Gini由0.2062下降至0.1837,降低约10.92%;配置方案重点投向11个公园提升点、14个文化活动中心及1个养老服务中心。需求与服务半径联合扰动压力测试下,覆盖率均值约61.40%,标准差约1.07个百分点,最低仍保持在58.92%,说明方案具备一定鲁棒性。
  综上,本文以空间公平性为起点,以多指标综合评价为中间桥梁,以资源优化配置为落脚点,形成"识别不均衡---解释成因---综合排序---定向配置---稳健验证"的完整递进式数学建模框架。模型既避免了后续问题重复预处理与重复求解,又通过E2SFCA、组合赋权TOPSIS、混合整数规划和多重敏感性分析实现了空间性、系统性与可实施性的统一。由于本文采用题目允许的模拟数据,数值结果主要用于展示方法与决策逻辑;在真实规划中,只需替换城区人口、POI、路网、健康、财政与环境数据,即可直接复用模型。

模型假设:

  1. 假设1:12个城区在研究期内人口规模、年龄结构和各类设施数量相对稳定,不考虑短期迁入迁出对年度服务需求的高频扰动。该假设使横截面模型成立。
  2. 假设2:题目允许使用模拟数据,因此本文的数值实验被视为"代表性城市"的情景模拟;所有绝对数值仅用于方法展示,不作为任何真实城市的官方结论。
  3. 假设3:城区质心之间的欧氏距离可近似反映平均路网通达距离;由于缺少真实道路网络与出行时间矩阵,统一距离衰减用于E2SFCA和资源配置。真实应用时应替换为路网最短时间。
  4. 假设4:同类设施在基础服务能力上近似同质,差异通过每类设施容量参数统一表达;新增设施在建成后能够达到设定容量。
  5. 假设5:不同城区居民可以跨区接受服务,只要供需点距离不超过该资源类型的有效服务半径;跨区服务量受供给容量约束。
  6. 假设6:人口老龄化会提高康养需求,因此在可达性需求量中使用老龄化修正人口,在优化模型中进一步将老龄化、低可达性和低综合评价嵌入优先度。
  7. 假设7:评价指标在当前研究期内具有可比统计口径,经同向化与无量纲化后可以进行加权集成;缺失值比例很低且近似随机缺失。
  8. 假设8:多目标规划中的投资成本按设施类型线性计价,不考虑规模折扣、建设周期与土地拆迁的非线性成本;这些因素将在模型推广部分讨论。

问题分析:

  问题一分析
  本题属于城市康养资源空间公平与供需可达性诊断问题,是整套康养城市评价‑配置体系的底层数据诊断模块。核心难点:单纯使用人均资源密度无法刻画跨区域共享服务、距离衰减、老龄化带来的差异化需求;仅统计资源数量不能建立资源供给与居民健康水平之间的统计关联,容易出现 "总量充足但局部获取困难" 的误判。建模思路:完成数据审计、缺失插补、量纲统一等预处理,计算每 10 万人资源密度,采用 Gini 系数、变异系数、极差比多指标联合测度四类康养资源的空间公平程度;引入增强型两步移动搜寻法 E2SFCA,融合设施供给、老龄化修正需求、高斯距离衰减计算分类型与综合空间可达性;使用 Moran's I 置换检验判断可达性全局空间集聚特征,通过 Spearman 秩相关、HC3 稳健标准误多元回归分析可达性、环境、经济、老龄化与居民健康指标的统计联系;融合低可达性、高老龄化、低健康状态构建优化需求指数,识别需要优先补强的城区,输出的需求指数直接为后续综合评价与设施优化配置提供需求侧输入基准。
  问题二分析
  本题属于多维客观赋权 TOPSIS 康养城市综合评价问题,完全复用问题一清洗后数据集、资源密度、健康相关特征,从资源、健康、环境、经济、智慧医养五个维度搭建 19 项指标体系。核心难点:单一客观赋权法存在固有偏向,熵权只关注指标离散信息量,CRITIC 侧重指标冲突与对比强度,仅用其中一种会带来权重偏差;小样本条件下评价排名容易受权重扰动影响,单纯排名会掩盖城区内部维度短板。建模思路:完成指标同向化与 Min‑Max 无量纲处理,采用熵权‑CRITIC 等权组合得到综合客观权重,消除单一赋权缺陷;利用 TOPSIS 模型计算各城区相对正负理想解的贴近度,区分综合排名并定位每个城区首要短板;通过 Kendall 秩相关对比多套权重结果,开展 1000 次蒙特卡洛权重随机扰动检验评价体系稳健性;输出 TOPSIS 贴近度与各维度短板画像,与问题一优化需求指数结合生成配置优先度,避免三问独立建模造成信息割裂。
  问题三分析
  本题属于带流量分配的多目标混合整数 MILP 设施选址配置优化问题,承接前两问输出的优化需求指数、TOPSIS 综合得分构造城区配置优先度。核心难点:决策同时包含 "新增设施整数数量" 和 "跨城区连续服务流量" 两类变量;目标之间存在权衡:提升总覆盖率、改善区域公平、控制总投资成本三者不能同时最优;设施存在容量上限、服务半径、单区最大新增数量多重硬约束,还要考虑方案在需求、服务半径扰动下的鲁棒表现。建模思路:定义老龄化修正的分类型康养需求当量,构建最大化服务覆盖率、最大化优先度‑距离衰减匹配效用、最小化总投资成本的多目标 MILP 模型;设置需求守恒、设施容量、服务半径、预算、整数变量约束;遍历多档预算求解得到 Pareto 前沿,采用理想点折衷准则确定最终实施方案;输出各城区新增设施清单、跨区服务流量矩阵,对比优化前后覆盖率、Gini 公平系数;开展需求与服务半径联合扰动压力测试,评估方案鲁棒性;结合四象限分析给出分类型、分城区可落地的分级建设实施策略,形成 "诊断‑评价‑优化‑验证" 完整递进建模闭环。

模型的建立与求解整体论文缩略图

全部论文请见下方" 只会建模 QQ名片" 点击QQ名片即可

程序代码:

部分程序如下:
python 复制代码
from __future__ import annotations

import json
import math
import os
import warnings
from pathlib import Path
from typing import Dict, List, Tuple

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import font_manager
from scipy import stats
from scipy.optimize import Bounds, LinearConstraint, milp
from sklearn.impute import KNNImputer
from sklearn.preprocessing import StandardScaler
import statsmodels.api as sm

warnings.filterwarnings("ignore")

SEED = 2025
rng = np.random.default_rng(SEED)
BASE_DIR = Path(__file__).resolve().parent
OUT_DIR = BASE_DIR / "kangyang_outputs"
FIG_DIR = OUT_DIR / "figures"
DATA_DIR = OUT_DIR / "data"
FIG_DIR.mkdir(parents=True, exist_ok=True)
DATA_DIR.mkdir(parents=True, exist_ok=True)

# ---------- 中文字体 ----------
def set_cn_font():
    candidates = [
        "/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc",
        "/usr/share/fonts/opentype/noto/NotoSerifCJK-Regular.ttc",
        "/usr/share/fonts/truetype/arphic/uming.ttc",
    ]
    for p in candidates:
        if Path(p).exists():
            prop = font_manager.FontProperties(fname=p)
            plt.rcParams["font.family"] = prop.get_name()
            break
    plt.rcParams["axes.unicode_minus"] = False
    plt.rcParams["figure.dpi"] = 130
    plt.rcParams["savefig.dpi"] = 300

set_cn_font()

# ---------- 通用函数 ----------
def minmax(s: pd.Series, benefit: bool = True) -> pd.Series:
    a = s.astype(float)
    lo, hi = float(a.min()), float(a.max())
    if abs(hi - lo) < 1e-12:
        z = pd.Series(np.ones(len(a))*0.5, index=s.index)
    else:
        z = (a - lo) / (hi - lo)
    return z if benefit else 1-z


def gini(x: np.ndarray) -> float:
    x = np.asarray(x, float)
    x = x[np.isfinite(x)]
    if len(x) == 0:
        return np.nan
    if np.min(x) < 0:
        x = x - np.min(x)
    if np.sum(x) == 0:
        return 0.0
    x = np.sort(x) + 1e-12
    n = len(x)
    return float((2*np.sum((np.arange(1, n+1))*x)/(n*np.sum(x))) - (n+1)/n)


def entropy_weights(X: pd.DataFrame) -> pd.Series:
    A = X.astype(float).copy()
    # 假定已同向、非负;逐列min-max以降低量纲影响
    Z = pd.DataFrame({c: minmax(A[c], True) for c in A.columns}) + 1e-12
    P = Z.div(Z.sum(axis=0), axis=1)
    k = 1.0 / np.log(len(Z))
    e = -k * (P * np.log(P)).sum(axis=0)
    d = 1-e
    if d.sum() <= 1e-12:
        return pd.Series(np.ones(len(d))/len(d), index=d.index)
    return d/d.sum()


def critic_weights(X: pd.DataFrame) -> pd.Series:
    Z = X.astype(float).copy()
    std = Z.std(axis=0, ddof=0)
    corr = Z.corr().fillna(0)
    conflict = (1-corr).sum(axis=1)
    c = std * conflict
    if c.sum() <= 1e-12:
        return pd.Series(np.ones(len(c))/len(c), index=c.index)
    return c/c.sum()


def topsis(X_norm: pd.DataFrame, weights: pd.Series) -> pd.Series:
    V = X_norm * weights
    ideal_pos = V.max(axis=0)
    ideal_neg = V.min(axis=0)
    d_pos = np.sqrt(((V - ideal_pos)**2).sum(axis=1))
    d_neg = np.sqrt(((V - ideal_neg)**2).sum(axis=1))
    return d_neg/(d_pos+d_neg+1e-12)


def moran_i(values: np.ndarray, coords: np.ndarray, permutations: int = 999) -> Tuple[float, float]:
    v = np.asarray(values, float)
    n = len(v)
    d = np.linalg.norm(coords[:, None, :] - coords[None, :, :], axis=2)
    W = np.where(d > 0, 1/(d+1e-9), 0)
    np.fill_diagonal(W, 0)
    # 行标准化
    W = W / (W.sum(axis=1, keepdims=True)+1e-12)
    z = v-v.mean()
    I = (n/W.sum()) * (np.sum(W*z[:, None]*z[None, :]) / (np.sum(z*z)+1e-12))
    perm = []
    for _ in range(permutations):
        zp = rng.permutation(z)
        ip = (n/W.sum()) * (np.sum(W*zp[:, None]*zp[None, :]) / (np.sum(zp*zp)+1e-12))
        perm.append(ip)
    perm = np.asarray(perm)
    p = (np.sum(np.abs(perm) >= abs(I)) + 1)/(permutations+1)
    return float(I), float(p)


def savefig(name: str):
    path = FIG_DIR / name
    plt.tight_layout()
    plt.savefig(path, bbox_inches="tight")
    plt.close()
    return str(path)


# ---------- 1. 模拟原始数据 ----------
def simulate_raw_data() -> pd.DataFrame:
    districts = ["中心区", "滨河区", "东城区", "西城区", "南湖区", "北新区",
                 "高新区", "文教区", "康旅区", "临港区", "山麓区", "远郊区"]
    # 城区质心坐标(km),用于近似路网距离/空间权重
    coords = np.array([
        [0.0, 0.0], [2.5, -1.0], [3.8, 1.8], [-3.5, 1.5], [1.0, -4.2], [-1.0, 4.8],
        [6.5, 0.5], [-4.5, -2.5], [5.5, -5.0], [9.0, -1.5], [-7.5, 4.5], [10.5, 6.5]
    ])
    pop = np.array([92, 73, 68, 65, 58, 61, 55, 49, 37, 44, 31, 28], float)  # 万人
    area = np.array([42, 56, 63, 70, 82, 95, 118, 76, 165, 190, 220, 285], float)
    elderly = np.array([0.225,0.208,0.195,0.217,0.203,0.232,0.171,0.226,0.249,0.198,0.263,0.278])
    centrality = np.exp(-np.linalg.norm(coords, axis=1)/7)
    econ = 0.55*centrality + np.array([.35,.25,.22,.15,.10,.12,.38,.20,.18,.30,.05,-.02])
    env = 0.85*(1-centrality) + np.array([-.15,.05,.02,.10,.18,.18,.05,.12,.38,.12,.42,.48])
    tourism = np.array([.05,.10,.04,.03,.15,.05,.05,.08,.65,.10,.40,.20])

    medical = np.rint(2.5 + 0.14*pop + 5.5*centrality + 2*econ + rng.normal(0,1.0,12)).clip(2).astype(float)
    elder_inst = np.rint(1.0 + 0.07*pop + 8*elderly + 1.5*(1-centrality) + rng.normal(0,.8,12)).clip(1).astype(float)
    parks = np.rint(1.5 + 0.035*area + 4*env + 2*tourism + rng.normal(0,.8,12)).clip(2).astype(float)
    culture = np.rint(1.5 + 0.06*pop + 4.5*centrality + 2.5*econ + rng.normal(0,.8,12)).clip(1).astype(float)
    beds_per_1k = 3.6 + 2.8*centrality + 1.6*econ + rng.normal(0,.3,12)
    medcare_integration = np.clip(38 + 30*econ + 22*elderly + rng.normal(0,4,12), 30, 88)
    digital_elderly = np.clip(35 + 36*econ + 15*centrality + rng.normal(0,4,12), 28, 92)
    transit = np.clip(42 + 42*centrality + 18*econ + rng.normal(0,4,12), 30, 96)

    pm25 = np.clip(36 - 11*env + 5*centrality + rng.normal(0,2,12), 20, 45)
    green = np.clip(34 + 22*env + 7*tourism + rng.normal(0,2.2,12), 30, 68)
    air_days = np.clip(285 + 70*env - 25*centrality + rng.normal(0,7,12), 250, 355)
    sewage = np.clip(91 + 5*econ + 3*centrality + rng.normal(0,1.2,12), 88, 99.5)

    gdp_pc = np.clip(7.2 + 10.5*econ + rng.normal(0,.7,12), 5.8, 19.5)  # 万元/人
    income = np.clip(3.1 + 3.6*econ + rng.normal(0,.25,12), 2.7, 7.1)  # 万元/人
    tertiary = np.clip(47 + 30*econ + 10*tourism + rng.normal(0,3,12), 42, 86)
    fiscal_pc = np.clip(0.55 + 1.15*econ + rng.normal(0,.1,12), .45, 1.9)  # 万元/人

    # 健康结果由资源、环境、经济与老龄化共同驱动,叠加随机扰动
    resource_latent = (medical/pop + elder_inst/pop + parks/pop + culture/pop)
    resource_latent = (resource_latent-resource_latent.min())/(resource_latent.max()-resource_latent.min())
    health_latent = 0.35*resource_latent + 0.30*((env-env.min())/(env.max()-env.min())) + 0.25*((econ-econ.min())/(econ.max()-econ.min())) - 0.10*((elderly-elderly.min())/(elderly.max()-elderly.min()))
    avg_life = 77.0 + 4.1*health_latent + rng.normal(0,.35,12)
    chronic = 25.5 + 18*elderly - 6.5*health_latent + 0.16*pm25 + rng.normal(0,.9,12)
    health_sat = np.clip(66 + 22*health_latent + rng.normal(0,2.2,12), 58, 93)

    df = pd.DataFrame({
        "区域": districts, "x_km": coords[:,0], "y_km": coords[:,1], "常住人口_万人": pop, "面积_km2": area,
        "老龄化率_%": elderly*100,
        "医疗设施_个": medical, "养老机构_个": elder_inst, "公园绿地_处": parks, "文化设施_个": culture,
        "每千人床位数": beds_per_1k, "医养融合率_%": medcare_integration, "智慧养老覆盖率_%": digital_elderly, "公共交通便利度": transit,
        "PM2.5_ugm3": pm25, "绿化覆盖率_%": green, "空气优良天数_天": air_days, "污水集中处理率_%": sewage,
        "人均GDP_万元": gdp_pc, "人均可支配收入_万元": income, "第三产业占比_%": tertiary, "人均财政支出_万元": fiscal_pc,
        "平均预期寿命_岁": avg_life, "慢性病患病率_%": chronic, "健康满意度_%": health_sat,
    })
    # 构造少量非结构性缺失值,模拟统计口径上报缺口;不制造人为极端值
    df.loc[df["区域"]=="临港区", "健康满意度_%"] = np.nan
    df.loc[df["区域"]=="山麓区", "PM2.5_ugm3"] = np.nan
    df.loc[df["区域"]=="远郊区", "医养融合率_%"] = np.nan
    return df


def preprocess(df_raw: pd.DataFrame) -> Tuple[pd.DataFrame, Dict]:
    df = df_raw.copy()
    numeric_cols = [c for c in df.columns if c != "区域"]
    miss = df[numeric_cols].isna().sum()
    # KNN前标准化可避免量纲主导距离;但sklearn KNNImputer需直接数值,因此采用列均值方差手工标准化后回变换
    X = df[numeric_cols].astype(float)
    means = X.mean()
    stds = X.std(ddof=0).replace(0,1)
    Xs = (X-means)/stds
    Xi = KNNImputer(n_neighbors=3, weights="distance").fit_transform(Xs)
    Ximp = pd.DataFrame(Xi, columns=numeric_cols, index=df.index)*stds + means
    df[numeric_cols] = Ximp
    # 计数指标恢复整数口径;其余保留连续值
    for c in ["医疗设施_个", "养老机构_个", "公园绿地_处", "文化设施_个"]:
        df[c] = df[c].round().clip(lower=0)
    # 一致性检查,不对"中心城区资源集聚"做机械缩尾,避免抹除真实空间异质性
    bounds_checks = {
        "老龄化率_%": (0,100), "医养融合率_%":(0,100), "智慧养老覆盖率_%":(0,100),
        "绿化覆盖率_%":(0,100), "污水集中处理率_%":(0,100), "健康满意度_%":(0,100)
    }
    for c,(lo,hi) in bounds_checks.items():
        df[c] = df[c].clip(lo,hi)
    info = {
        "missing_total": int(miss.sum()),
        "missing_by_col": {k:int(v) for k,v in miss[miss>0].items()},
        "n_rows": len(df), "n_numeric": len(numeric_cols)
    }
    return df, info
全部论文请见下方" 只会建模 QQ名片" 点击QQ名片即可
相关推荐
网安蟹佬霸1 小时前
密码学安全实战:从加密原理到哈希破解的完整攻防指南
网络·算法·安全·web安全·开源·密码学·哈希算法
yangmu32031 小时前
深度解析:短视频是如何通过“算法+神经机制”劫持用户时间的?
算法
LuminousCPP1 小时前
栈和队列专题(四):LeetCode 232. 用栈实现队列|双栈分工 + 按需迁移 + 摊还 O(1)
c语言·数据结构·笔记·算法·leetcode
tudousisi2222 小时前
01背包8.21
数据结构·算法
ZJU_统一阿萨姆2 小时前
【算子开发】Reduction算子完全指南
人工智能·算法·语言模型
鹿角片ljp11 小时前
LeetCode 46. 全排列|吃透回溯
算法·leetcode·职场和发展
鼎艺创新科技11 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
十三画者11 小时前
【文献分享】ConfRetro:融合3D构象信息的逆合成预测Transformer框架
人工智能·深度学习·数据挖掘·数据分析·transformer·数据可视化
.道阻且长.13 小时前
11.LeetCode算法习题讲解--滑动窗口--将x减到0的最小操作数
算法·leetcode·职场和发展