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

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

"

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
相关文章
|
8月前
|
算法 JavaScript Java
【状态压缩】【动态规划】【C++算法】1125.最小的必要团队
【状态压缩】【动态规划】【C++算法】1125.最小的必要团队
|
8月前
|
人工智能 大数据 物联网
技术创新与人性:找到平衡的关键
在快速发展的科技领域中,技术创新不断推动着人类社会向前发展,但与此同时,我们也面临着技术可能带来的人性困境。本文探讨了在技术发展的背景下,如何找到技术创新与人性之间的平衡,以及这一平衡对于未来社会发展的重要性。
59 0
|
8月前
|
人工智能 BI 测试技术
【图论】【树形dp】【深度优先搜索】2538. 最大价值和与最小价值和的差值
【图论】【树形dp】【深度优先搜索】2538. 最大价值和与最小价值和的差值
|
搜索推荐 算法
了解七大经典排序算法,看这一篇就足够了!!!(下)
了解七大经典排序算法,看这一篇就足够了!!!(下)
60 2
|
搜索推荐
了解七大经典排序算法,看这一篇就足够了!!!(上)
了解七大经典排序算法,看这一篇就足够了!!!(上)
68 2
|
算法 5G
数学建模——最优连接(基于最小支撑树)
数学建模——最优连接(基于最小支撑树)
|
容器
最优贸易(记忆化搜索)
最优贸易(记忆化搜索)
75 1
|
算法
算法简单题,吾辈重拳出击 - 爬楼梯的最少成本
爬楼梯都还记得吧?f(x)=f(x-1)+f(x-2),斐波那契数列。 本题是爬楼梯的变形题:爬楼梯的最少成本
|
算法 测试技术
Leetcode投资的最大收益(动态规划/贪心算法)
Leetcode投资的最大收益(动态规划/贪心算法)