技术心得:投资分配问题_动态规划

简介: 技术心得:投资分配问题_动态规划

"

1先简单描述一下这类题的通解思路

下面是一道具体的例题

例题: 设国家拨给60万元投资,供四个工厂扩建使用,每个工厂扩建后的利润与投资额的大小有关,投资后的利润函数如下表所示。

解:依据题意,是要求 f4(60)

根据思路可以模拟出一下代码

1 #include[/span>bits/stdc++.h

2 using namespace std;

3 int M;

4 int N;

5 int main()

6 {

7 cout [ ""请输入工厂的个数和每个工厂所有的可能投资额个数:""[ endl;

8 cin M N;

9 cout [ ""请输入国家最大投资额"" [ endl;

10 int money;

11 cin money;

12 int array【M】【N】;//每个工厂在所有可能投资额下的获取利润

13 int array1【M】【N】;//在某投资额下前M个工厂可以获取的最大利润

14 int path【M】【N】;//记录在某总投资额下投资一部分资金给第M个工厂下时获取最大利润时这个部分投资额的数值

15 memset(array,0,sizeof(array));

16 memset(array1,0,sizeof(array1));

17 memset(path,0,sizeof(path));

18 cout [ ""请依次输入每个工厂在所有可能投资额下的获取利润:""[ endl;

19 for(int i=0;i[/span>M;i++){

20 cout [ ""请输入第"" [ i+1 [ ""个工厂的所有可能投资额下的获取利润:"" [ endl;

21 for(int j=0;j[/span>N;j++){

22 cin array【i】【j】;

23 }

24 }

25 for(int i=0;i[/span>M;i++){

26 for(int j=//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM2NzEzMg==.html

0;j[/span>N;j++){

27 if(i==0){

28 array1【i】【j】=array【i】【j】;

29 if(array【i】【j】>path【i】【j】){//第一个工厂直接全部分配给自己

30 path【i】【j】=j;//全部投资额都给自己

31 }

32 }

33 else{

34 int maxnum=0;

35 for(int k=0;k[/span>N;k++){

36 if(j-k

37 if(array1【i】【j】[/span>array【i】【k】+array1【i-1】【j-k】){//获取收益最大值时投资给自己的投资额

38 array1【i】【j】=array【i】【k】+array1【i-1】【j-k】;//更新

39 path【i】【j】=k;//记录投资给自己多少;

40 }

41

42 }

43 else{

44 break;

45 }

46//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjgyMjIyOA==.html

47 }

48 }

49 }

50 }

51 cout [""最大利润为"" [array1【M-1】【N-1】[ endl;

52

53 //cout [ ""每个"" [ endl;

54 money/=10;

55 for(int i=M-1;i

56 cout [""第""[i+1[""个工厂投资额为"" [path【i】【money】*10[ endl;

57 money-=path【i】【money】;

58

59 }

60

61 }

运行结果如下:

作者:你的雷哥

出处:

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。


"
image.png
相关文章
|
10月前
|
Java
.如何根据 CPU 核心数设计线程池线程数量
IO 密集型:核心数*2 计算密集型: 核心数+1 为什么加 1?即使当计算密集型的线程偶尔由于缺失故障或者其他原因而暂停时,这个额外的线程也能确保 CPU 的时钟周期不会被浪费。
338 4
|
存储 SQL NoSQL
深入理解数据库技术:从基础到前沿应用
一、引言 在信息化和数字化的时代,数据已成为推动社会进步和企业发展的核心资源
|
自然语言处理 IDE 开发工具
通义灵码使用安装教程,3 分钟快速上手体验
通义灵码,是阿里云与通义实验室联合出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云的云服务使用场景调优,助力开发者高效、流畅的编码。目前个人版免费使用。
1680 10
|
11月前
|
Windows
.NET 隐藏/自定义windows系统光标
【10月更文挑战第20天】在.NET中,可以使用`Cursor`类来控制光标。要隐藏光标,可将光标设置为`Cursors.None`。此外,还可以通过从文件或资源加载自定义光标来更改光标的样式。例如,在表单加载时设置`this.Cursor = Cursors.None`隐藏光标,或使用`Cursor.FromFile`方法加载自定义光标文件,也可以将光标文件添加到项目资源中并通过资源管理器加载。这些方法适用于整个表单或特定控件。
141 0
|
11月前
|
JSON 测试技术 API
Postman 教程:快速入门与进阶技巧
本系列教程旨在帮助你从零开始,逐步掌握 Postman 的各项功能,从基础的请求发送到高级的自动化测试和团队协作。无论你是初学者还是有一定经验的开发者,都能在这里找到你需要的知识和技巧。每一篇教程都配有详细的图文说明,确保你能够轻松上手并迅速提升技能。
|
数据处理 Python
【Python】已解决:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported’) xlrd.biffh.XLRD
【Python】已解决:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported’) xlrd.biffh.XLRD
307 1
|
自然语言处理
LLM上下文窗口突破200万!无需架构变化+复杂微调,轻松扩展8倍
【5月更文挑战第12天】LongRoPE研究突破LLM上下文窗口限制,无需架构变更和复杂微调,实现8倍扩展至2048万个token。该方法利用位置嵌入非均匀性,通过高效搜索和优化初始化,适用于处理长文本任务,对模型性能影响小。但可能需要较多计算资源,且2048万的长度是否足够所有任务尚待探讨。[论文链接](https://arxiv.org/abs/2402.13753)
409 1
|
存储 缓存 NoSQL
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
|
机器人 iOS开发
空间音频是什么?
从单声道音频发展到双声道、再到多声道和环绕立体声,数字音频的表现力不断提升。空间音频(也称为三维声音或3D音频)并不只是通过增加声道来创造立体感,而是一种与视频空间化同步的音频处理过程。基于空间的音频甚至可以具有六个自由度,使用户能够互动。声音不仅要清晰动听,还要与空间场景完美契合,带来沉浸式体验。让我们一起深入了解一下空间音频技术。
|
设计模式 Java 数据安全/隐私保护
理论与实践:如何写好一个方法
个人认为一个好的方法主要表现在可读性、可维护性、可复用性上,本文通过设计原则和代码规范两章来讲解如何提高方法的可读性、可维护性、可复用性。这些设计原则和代码规范更多的是表现一种思想,不仅仅可以用在方法上,也可以用在类上、模块上。下面通过具体的例子来讲解。
理论与实践:如何写好一个方法

热门文章

最新文章