5.8 投资问题
发表于|更新于|算法
|总字数:133|阅读时长:1分钟|浏览量:
投资问题
问题描述
m元钱,n个项目。f_i(x)表示x元钱投入项目i的效益。求最大效益。

问题分析
算法设计
- 问题分解划分阶段:规模增长的方向有两个。第一个是投资的金额想,第二个是项目选择k。x,k阶段。
- 确定状态变量dp[x][k]表示投资x,第k个项目的最大收益。
- 确定状态转移方程。

- 状态转移过程。

算法效率
- O(n*m^2)
算法实现
文章作者: Estom
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!
相关推荐

2021-09-02
1-GORM
原文地址:GORM入门指南 原文地址:GORM CRUD指南 《GORM 中文文档》 《MySql 中文文档》 下列示例中的 gorm 是导师 Fork 的,GORM 的原始路径是:https://github.com/go-gorm/gorm .1 GORM 介绍gorm 是一个使用 Go 语言编写的 ORM 框架。它文档齐全,对开发者友好,支持主流数据库。 对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。 Github 地址 GORM 中文文档 .2 安装1go get -u github.com/jinzhu/gorm .3 连接数据库连接不同的数据库都需要导入对应数据库驱动程序,GORM 已经贴心的为我们包装了一些驱动程序,只需要按如下方式导入需要的数据库驱动即可: 1234import _ "github.c...

2022-12-05
21.Redis中如何实现的消息队列?实现的方式有几种?
Redis 中如何实现的消息队列?实现的方式有几种?细心的你可能发现了,本系列课程中竟然出现了三篇都是在说消息队列,第10篇时讲了程序级别的消息队列以及延迟消息队列的实现,而第15篇讲了常见的消息队列中间件 RabbitMQ、Kafka 等,由此可见消息队列在整个 Java 技术体系中的重要程度。本课时我们将重点来看一下 Redis 是如何实现消息队列的。 我们本课时的面试题是,在 Redis 中实现消息队列的方式有几种? 典型回答早在 Redis 2.0 版本之前使用 Redis 实现消息队列的方式有两种: 使用 List 类型实现使用 ZSet 类型实现其中使用List 类型实现的方式最为简单和直接,它主要是通过 lpush、rpop 存入和读取实现消息队列的,如下图所示: lpush 可以把最新的消息存储到消息队列(List 集合)的首部,而 rpop 可以读取消息队列的尾部,这样就实现了先进先出,如下图所示: 命令行的实现命令如下: 12345678127.0.0.1:6379> lpush mq "java" #推送消息 java(inte...

2021-03-12
3.9 位运算算法
主要是利用位运算解决一些巧妙的问题。 1 基础位运算基础 符号 说明 特性 & 按位与 只要有0,返回0 | 按位或 只要有1,返回1 ^ 按位异或 相同返回0。不同返回1 ~ 按位取反 全部反转。不重复的数字 >> 右移 << 左移 负数在计算机中使用补码表示,主要目标就是实现了最小值到最大值之间,位运算的连续性。 在字面数字运算中,-2 加1为-1,-1 加1为0,0+1为1。是连续计算的。在二级制补码计算中。也满足上述的计算规则。1111表示-1,加一通过溢出一位,变为0000,成为0. 实际上-1是按位绝对值最大的数,即1111。 特殊性质 操作 性质 n & (n - 1) n中的最后一个1变成0。 n & (~n + 1) n&(n^(n-1)) lowbit()运算,n中最后一个1保留。 (~n) + 1== -n 计算机中补码表示的-n。位运算取反 n/2 等价于 右移一位 n >> 1 n*2 等价...

2020-09-24
8数据类型
datetime有效的类型 class datetime.date一个理想化的简单型日期,它假设当今的公历在过去和未来永远有效。 属性: year, month, and day。 class datetime.time一个独立于任何特定日期的理想化时间,它假设每一天都恰好等于 246060 秒。 (这里没有“闰秒”的概念。) 包含属性: hour, minute, second, microsecond 和 tzinfo。 class datetime.datetime日期和时间的结合。属性:year, month, day, hour, minute, second, microsecond, and tzinfo. class datetime.timedelta表示两个 date 对象或者 time 对象,或者 datetime 对象之间的时间间隔,精确到微秒。 class datetime.tzinfo一个描述时区信息对象的抽象基类。 用来给 datetime 和 time 类提供自定义的时间调整概念(例如处理时区和/或夏令时)。 class datetime...

2024-01-07
1.8 整体局部思想
整体和局部程序可大可小。任何一个程序都是一段完整的逻辑。程序可大可小,可以是一个函数、一个类、一个模块、一个应用、一个产品,但是无论在哪个维度,它都是一段完整的逻辑。 整体和局部的概念。要想写好一段逻辑,就要明白整体和局部的概念。框架完整了整体,库实现了局部一样,在编程开发过程中,我们也要完成每个程序的整体和局部,小到一个函数,大到一个产品都有自己的整体和局部。整体是面向目标和需求的,是局部依附的基础。局部是面向实现的,是整体的细节。 自己构建程序:自上而下的设计和自下而上的实现。在开发过程中也要遵循自上而下设计、自下而上实现,即要根据目标设计出整体的流程,置空细节。然后再每一个置空的细节处遵循相同的原则进行拆分,先设计总体的流程,然后实现具体的细节。 依赖第三方程序:框架和库。 框架是接管整个程序的执行流程,然后通过提供一些可以定制的接口,允许开发者定制局部的逻辑。 库是一个精小的组件,由开发者定制程序运行的主要流程,在任意时间使用库来完成局部的逻辑。 整体和局部的组装方式。整体和局部有多种组装的模式。最简单的就是同步调用,例如一个函数构建了流程,调用其他函数实现了某个细节...

2021-12-24
pigz
pigz可以用来解压缩文件,gzip的并行实现升级版 补充说明pigz命令可以用来解压缩文件,最重要的是支持多线程并行处理,解压缩比gzip快。主页: http://zlib.net/pigz/ 语法12pigz [ -cdfhikKlLmMnNqrRtz0..9,11 ] [ -b blocksize ] [ -p threads ] [ -S suffix ] [ name ... ]unpigz [ -cfhikKlLmMnNqrRtz ] [ -b blocksize ] [ -p threads ] [ -S suffix ] [ name ... ] 参数12345678910111213141516171819202122232425262728293031-0 to -9, -11 # Compression level (level 11, zopfli, is much slower)--fast, --best # Compression levels 1 and 9 respectively-b, --blocksize mmm...
公告
欢迎参观Estom的小屋



