各种动态规划算法的C语言

2023-11-13

以下是常见的几种动态规划算法的C语言实例:

  1. 01背包问题
#include<stdio.h>
#define max_n 1010

int n, W, w[max_n], v[max_n], dp[max_n][max_n];
int max(int a, int b) {return a > b ? a : b;}

void ZeroOnePack(int i) {
    for(int j = 0; j <= W; ++j) {
        if(j < w[i]) {
            dp[i][j] = dp[i-1][j];
        }else {
            dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]]+v[i]);
        }
    }
}

int main() {
    scanf("%d%d", &n, &W);
    for(int i = 1 ;i <= n; ++i) {
        scanf("%d%d", &w[i], &v[i]);
    }
    for(int i = 1; i <= n; ++i) {
        ZeroOnePack(i);
    }
    printf("%d", dp[n][W]);
    return 0;
}
  1. 完全背包问题
#include<stdio.h>
#define max_n 1010

int n, W, w[max_n], v[max_n], dp[max_n];
int max(int a, int b) {return a > b ? a : b;}

void CompletePack(int i) {
    for(int j =
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

各种动态规划算法的C语言 的相关文章

  • MD5,SHA1,SHA256,NTLM,LM等Hash在线破解网站收集

    MD5 http hashchecker de find html http paste2 org p 441222 http r0ot podzemlje net x md5 http hashkiller com index php a
  • i春秋 从0到1CTFer成长之路-CTF中的SQL-1注入

    这是本萌新第一次写博客 作为对前面的学习的总结 如有错误 欢迎各位师傅们指正 如何判断注入类型我就不做过多的解释 不知道同学请移步去学习 手动狗头 CTF中的SQL注入 我采用的是手注 根据经验判断是字符型注入 接下来就来查看有几列 ord
  • 区块链学习7:超级账本项目Hyperledger与Fabric以及二者的关系

    前往老猿Python博文目录 一 超级账本 hyperledger 超级账本 hyperledger 是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目 成员包括金融 银行 物联网 供应链 制造和科技行业的领头羊 h
  • GBDT和随机森林的区别

    GBDT和随机森林的相同点 1 都是由多棵树组成 2 最终的结果都是由多棵树一起决定 GBDT和随机森林的不同点 1 组成随机森林的树可以是分类树 也可以是回归树 而GBDT只由回归树组成 2 组成随机森林的树可以并行生成 而GBDT只能是
  • 关注物联网、关注NB-IoT

    概述 关注物联网 关注NB IoT 跟紧时代步伐 让更多人深入理解5G用意 在当下情况下 今天就来来聊一聊NB IoT 特意整理了一些NB IoT的入门级问题 问 NB IoT的优势是什么 答 支持单小区50K用户连接 做上传用低功耗优势明
  • 【SpringBoot深入浅出系列】SpringBoot集成Eureka及Feign

    目录 前言 一 Eureka 是什么 二 Feign 是什么 三 集成步骤 1 创建 Eureka 服务注册中心 1 添加依赖 2 添加配置 3 启动类添加注解 4 启动服务 2 创建 SpringBoot 项目 provider 1 添加
  • MySQL图书管理系统设计

    目录 一 项目简介 二 项目分析 1 需求分析 图书管理功能 书籍的借出 归还 信息操作功能 人员管理功能 2 需求表信息分析 图书管理需求表分析 信息操作表信息分析 人员信息表 三 项目实施 1 创建图书信息表 2 创建人员信息表 3 创

随机推荐

  • SQL自学,mysql从入门到精通 --- 第 1 天,系统环境搭建,mysql部署

    1 SQL简介 SQL Structured Query Language 是一种用于管理和操作关系型数据库的编程语言 它被用于创建 修改和查询数据库 以及执行诸如数据插入 删除和更新等各种任务 SQL在Web开发 数据分析和数据库管理系统
  • vscode中设置字体大小_史上最全vscode配置使用教程

    点击上方蓝字 前端码头 一起玩耍 工欲善其事 必先利其器 想要优雅且高效的编写代码 必须熟练使用一款前端开发工具 但前端开发工具数不胜数 像HBuilder Sublime Text WebStorm Visual Studio Code
  • JSP( `EL表达式——获取数据` 和 `JSTL标签——展现数据`)(已被替代) 、 `MVC模式` 和 `三层架构`实现增删改查操作

    1 JSP 概述 JSP 全称 Java Server Pages Java 服务端页面 是一种动态的网页技术 其中既可以定义 HTML JS CSS等静态内容 还可以定义 Java代码的动态内容 也就是 JSP HTML Java JSP
  • 【Linux】Ubuntu开启root账户,以及后续连接MobaXterm

    一 开启root账户 1 首先在Ubuntu中打开终端 输入 sudo passwd root 完成root用户密码设置 效果如下图所示 2 输入下列代码 修改文件配置 sudo vim usr share lightdm lightdm
  • python脚本将json文件生成C语言结构体

    1 引言 以前用过python脚本根据excel生成相关C语言代码 其实本质就是文件的读写 主要是逻辑问题 这次尝试将json文件生成C语言的结构体 2 代码 这是一个json文件 生成这个结构体的本质是深度优先遍历 为了适应最复杂的情况
  • 很火的AI换脸怎么做的?方法其实非常简单

    网上很火的AI换脸是怎么做到的呢 将自己的脸部特征换到名人照片中 可以让我们看到自己和名人的组合效果如何 还可以将自己的脸部特征换到历史人物的照片中 看看自己是否有历史人物的气质 这种操作也非常有趣 看看自己是否适应不同的文化氛围 这也是一
  • 参加CSDN第六期编程竞赛感想

    CSDN编程竞赛报名地址 https edu csdn net contest detail 16 请不要删掉此地址 前言 背景 个人虽已经在IT行业工作多年 算法上是小白 没有多少积累 为了学习进步 自我提升 偶然机会看到CSDN举行的第
  • kubernetes 安装dns组件

    DNS 组件历史版本有skydns kube dns和coredns三个 k8s1 3版本之前使用skydns 之后的版本到1 17及之间的版本使用kube dns 目前主要使用coredns DNS组件用于解析k8s集群中service
  • excel+power query进行文本数据拆分和提取

    我的博客之前分享了pandas中文本数据的拆分和提取 由于数据量不大 我们也可以使用excel和它自带的插件power query进行同样的处理 原始数据如下 数据来源见此贴 登录爬取拉勾网2 0 Python selenium 数据准备
  • Python编程:安装自己编写的包

    前言 最近在跑人群计数代码时 有一些自己经常用到的代码 每次要用时再写一次总是很麻烦 所以想着把这部分常用的代码封装成库 以便于随时随地使用 做法 这里使用一种简易的方式 直接将自己编写的代码文件夹复制到python能够搜索到的位置 首先在
  • make -C $(LINUX_KERNEL_PATH) M=$(PWD) modules中的M选项

    新的内核模块编程中的make命令里有个M选项 如下 make C lib modules shell uname r build M PWD modules M PWD 意思是返回到当前目录继续读入 执行当前的Makefile 请参考 从
  • 软件、硬件版本号命名规范

    软件 硬件版本号命名规范 常见版本号规范示例如 v1 0 0 通用版本命名规范如下 主版本号 子版本号 修订版本号 日期 版本阶段 如v1 2 3 20201228 rc 主版本号 1 功能模块发生较大变动 如增加多个模块 整体架构改变 子
  • Linux基础篇大集合

    目录 一 基础篇 一 基本常识 1 linux的三种网络连接方式 2 虚拟机的克隆 3 虚拟机的快照 4 虚拟机的迁移和删除 二 目录结构 三 基本实操 1 远程连接Linux操作系统 2 vi vim编辑器 3 Linux关机重启 4 用
  • react+react-router 4.0+redux+antd 购物车实战项目

    前言 前些日子抽空学习了下react 因为近期忙着找工作 没时间写博客 今天我们就来看看用react全家桶 构建一个项目把 可能我学的也不是特别好 但是经过各种查资料 总算是能够构建出一个像模像样的栗子了 github地址 https gi
  • c++开发框架Qt6:构建系统CMake详解

    Qt自带集成开发环境 IDE 名为Qt Creator 它可以在Linux OS X和Windows上运行 并提供智能代码完成 语法高亮 集成帮助系统 调试器和剖析器集成 还集成了所有主要的版本控制系统 如git Bazaar 除了Qt C
  • 台式电脑显示配置100%请勿关闭计算机,Win7关机提示“配置Windows Update已完成30%请勿关闭计算机”怎么解决...

    重装了Win7旗舰版系统后 每次关机的时候桌面上都会显示一个 配置Windows Update的界面 提示请勿关闭计算机 每次停留好几分钟才能正常关机 导致什么情况引起的呢 出现配置Windows Update是因为系统开启了自动更新功能
  • 基于Vue的Excel文件预览(使用LuckyExcel、LuckySheet实现)

    目录 一 介绍 二 基本思路 三 安装 Luckyexcel Luckysheet CDN引入 本地引入 四 具体实现 1 首先需要一个页面 用于excel的预览展示 2 编写Excel解析渲染函数 openExcel url链接 文件名
  • Flutter 基础(五)Route 路由以及页面间传值

    Route 路由以及页面间传值 一种页面跳转机制 路由 Route 对应到 Android 就是 Intent Flutter 路由分两种 新建路由 注册路由 需要Route表示 Navigator进行管理 跳转页面 Navigator p
  • 区块链与征信

    1 为什么要将区块链应用在征信上 1 1 中国征信产业发展现状 图1 中国征信产业发展现状 1 2 区块链征信的可行性分析 首先 从个人层面来说 区块链能帮助我们确立自身的数据主权 生成自己的信用资产 这是个人信用生产的基础 也是我们将来的
  • 各种动态规划算法的C语言

    以下是常见的几种动态规划算法的C语言实例 01背包问题 include