#P4625.第2题-大模型训练显存优化算法

第2题-大模型训练显存优化算法 - problem_ide - CodeFun2000

动态规划

python 复制代码
import sys
import numpy
def solve():
    data = sys.stdin.read().split()
    if not data:
        return
    
    m = int(data[0])
    n = int(data[1])

    space = [int(x) for x in data[2 : n+2]]
    swap = [int(x) for x in data[n+2 : 2*n+2]]
    price = [int(x) for x in data[2*n+2 : 3*n+2]]

    cost = [min(swap[i], price[i]) for i in range(n)]

    # 3. 初始化 DP 数组
    INF = float('inf')
    dp = [INF] * (m + 1)
    dp[0] = 0

    for i in range(n):

        for j in range(m,-1,-1):
            if dp[j] != INF:
                nj = j + space[i]
                if j + space[i]>= m:
                    nj = m
                
                if dp[j]+cost[i]<dp[nj]:
                    dp[nj] = dp[j]+cost[i]
    
    if dp[m]==INF:
        print('error')
    else:
        print(dp[m])

if __name__=='__main__':
    solve()

                

递归(超时)

python 复制代码
import sys
import numpy


    
def solve():
    data = sys.stdin.read().split()
    if not data:
        return
    
    m = int(data[0])
    n = int(data[1])

    space = [int(x) for x in data[2 : n+2]]
    swap = [int(x) for x in data[n+2 : 2*n+2]]
    price = [int(x) for x in data[2*n+2 : 3*n+2]]

    cost = [min(swap[i], price[i]) for i in range(n)]

    def dfs(step,now_weight,now_cost):
        if step==n:
            global ans
            if now_weight>=m:
                if ans == -1:
                    ans = now_cost
                else:
                    ans = min(ans,now_cost)
            
            return
        
        dfs(step+1,now_weight,now_cost)
        dfs(step+1,now_weight+space[step],now_cost+cost[step])
    
    dfs(0,0,0)
    if ans==-1:
        print('error')
    else:
        print(ans)
        



if __name__=='__main__':
    ans = -1
    solve()

                
相关推荐
血色橄榄枝28 分钟前
基于用户注册信息的关键词检测挑战赛「Datawhale AI 夏令营」
人工智能·算法·机器学习
c238561 小时前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
六点_dn2 小时前
Linux学习笔记-printf命令
linux·运维·算法
遥感知识服务3 小时前
Sentinel-1 + DEM + FwDET + 随机森林:从快速水深初估到多因子误差修正
算法·随机森林·sentinel
来一碗刘肉面3 小时前
顺序表与链表的比较
数据结构·算法·链表
alphaTao3 小时前
LeetCode 每日一题 2026/7/13-2026/7/19
算法·leetcode
nnerddboy4 小时前
脑电信号处理实战 03 | 运动想象脑机接口入门:ERD/ERS、CSP 空间滤波与左右拳想象解码
算法·信号处理
QN1幻化引擎5 小时前
Dalin L — 我造了一门支持中文编程的语言,完整移植到 Rust 了
人工智能·算法·机器学习
Rainy Blue8835 小时前
C转C++速成
c语言·c++·算法
txzrxz5 小时前
二分图详解
数据结构·c++·算法·图论·深度优先搜索·二分图染色