蛮力法之01背包
来源:互联网 发布:linux 用户切换 编辑:程序博客网 时间:2024/05/19 17:51
背包问题,毫无疑问是动态规划的东西,但是作为菜鸟,写一下菜鸟的东西也有点用处滴...
#include <iostream>#include <vector>using namespace std;void MFKnapsack(int capacity, int *values, int *weights, vector<int> &c, int d, int &max_value){if (d== 0) {int cur_weight = 0, cur_value = 0;for (int i = 0; i != d; ++i) {if (c[i] == 0) {cur_weight += weights[i];cur_value += values[i];}}if (cur_weight <= capacity && cur_value > max_value) {max_value = cur_value;}return;}c[d] = 0;MFKnapsack(capacity, values, weights, c, c.size()-2, max_value);c[d] = 1;MFKnapsack(capacity, values, weights, c, c.size()-2, max_value);}int MFKnapsack(int capacity, int *values, int *weights, int n) {int max_value=0;vector<int> c(n,0);cout<<c.size()<<endl;MFKnapsack(capacity,values,weights,c,1,max_value);return max_value;}int main() {int capacity=10,n=7;int values[]={6,3,5,4,6,3,10};int weights[]={1,2,5,5,4,4,6};cout << MFKnapsack(capacity, values, weights, n) << endl;system("pause");}
- 蛮力法之01背包
- 白话背包之01背包
- 01背包之完全背包
- 背包问题之01背包
- 背包问题之01背包
- 背包问题之01背包
- 背包之01背包、完全背包、多重背包详解
- 背包之01背包、完全背包、多重背包详解 Acm
- 背包之01背包、完全背包、多重背包详解
- 背包之01背包、完全背包、多重背包详解
- 背包之01背包、完全背包、多重背包详解
- 背包之01背包、完全背包、多重背包详解
- 背包之01背包、完全背包、多重背包详解
- 背包之01背包、完全背包、多重背包详解
- 背包之01背包、完全背包、多重背包详解
- DP背包之01背包、完全背包、多重背包笔记
- 背包之01背包、完全背包、多重背包详解
- 背包之01背包、完全背包、多重背包详解
- wince6添加ftp和telnet的方法,并且实现无验证登陆
- bash shell 获取数值的百位、个位
- Android OS MTK6573 SD卡驱动浅析
- jQuery Splitter 分隔条插件
- c语言中的类型限定词之一volatile
- 蛮力法之01背包
- C/C++ 中如何获取数组长度
- 孩子们容易掉入的三大网络陷阱
- OGRE DCC Tools
- bash shell 数值比较
- pragma comment的使用
- 八皇后问题
- HTML form without CSRF protection,HTML表单没有CSRF保护
- bash shell 大小写转换