动态规划 背包问题 C++
来源:互联网 发布:mac book需要wpa2密码 编辑:程序博客网 时间:2024/05/20 04:15
// main.cpp// DP程序//这是一个动态规划来解决背包问题的程序//本程序的实例和理论来源博客的链接为 http://blog.csdn.net/mu399/article/details/7722810//http://blog.csdn.net/dapengbusi/article/details/7463968// 初次编写 by肖邦// Created by Xiao Bang on 2017/4/3.// Copyright © 2017年 Xiao Bang. All rights reserved.//#include <iostream>using namespace std;const int c = 10; //背包的容量void package1(int **f, const int w[], const int v[], const int n) { //注意! new 生成的二维数组做形参时是 **f形式。 for (int j = 0; j <= c; j++) if (j < w[n - 1]) f[n - 1][j] = 0; else f[n - 1][j] = v[n -1]; for (int i = n - 2; i >= 0; i --) for (int j = 0; j <=c;j ++) { if (j < w[i]) f[i][j] = f[i + 1][j]; else f[i][j] = f[i + 1][j - w[i]] + v[i] > f[i + 1][j] ? f[i + 1][j - w[i]] + v[i] : f[i + 1][j]; }}void answer1(int **f, int x[], const int w[], const int n) { //求背包内放入元素 int j = c; for (int i = 0; i < n -1; i ++) { if (f[i][j] == f[i + 1][j]) x[i] = 0; else { x[i] = 1; j -= w[i]; } x[n -1] = f[n -1][j] ? 1 :0; }}void print(int **f, const int n, const int wf) { //打印生成的表 for (int i = 0; i < n; i ++) { for (int j = 0; j <= wf; j ++) cout << f[i][j] << " " ; cout << "\n"; } }int main(int argc, const char * argv[]) { int w[] = {2,2,6,5,4}; // 元素的重量 int v[] = {6,3,5,4,6}; // 元素的值 const int n = sizeof(w) / sizeof(w[0]); int * x = new int[n](); int ** f = new int * [n]; for (int i = 0; i < n; i ++) f[i] = new int [c + 1](); package1(f, w, v, n); answer1(f, x, w, n); print(f,n,c); for (int i = 0; i < n; i ++) if (x[i] == 1) cout << i <<"\t" << w[i] << "\t" << v[i] << "\n"; return 0;}
0 0
- 动态规划 背包问题
- 【动态规划】背包问题
- 动态规划-背包问题
- 动态规划+背包问题
- 动态规划-背包问题
- 背包问题 -- 动态规划
- 《背包问题》 动态规划
- 动态规划-背包问题
- 动态规划 背包问题
- 动态规划 背包问题
- 动态规划 背包问题
- 动态规划 背包问题
- 动态规划-背包问题
- 动态规划--背包问题
- 动态规划背包问题
- 背包问题 动态规划
- 动态规划-背包问题
- 动态规划-背包问题
- 简要说说Linux下Git服务器架设
- 计蒜客蓝桥杯模拟赛5 礼物盒
- 使用Java实现串口通信
- python3数据类型
- UVA
- 动态规划 背包问题 C++
- gps定位性能
- 设计模式之原型模式
- UIView-绘制相关
- Ubuntu 安装 JDK 7 / JDK8 的两种方式
- Linux目录命令学习
- 6种排序算法及其比较 简单选择排序,堆排序,简单插入排序,希尔排序,冒泡排序,快速排序,归并排序
- 基于callable多线程编程模拟龟兔赛跑过程
- Runtime