算法的分析与设计
ZHUO_SIR
这个作者很懒,什么都没留下…
展开
-
动态规划求解数字数字三角形
#include"stdafx.h"#include<iostream>#include<stdio.h>#include<string.h>using namespace std;#define N 100int MAXSUM(int a[][N], int n, int x[]){ int i, j, t; for (i = n - 1;...原创 2018-10-28 16:54:12 · 362 阅读 · 0 评论 -
动态规划求解最长上升子序列问题
// ch12.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#include "vector"using namespace std;int main(){ //输入数据 int N; cin >> N; vector<int>nums; for (int i = 0; i...原创 2018-10-28 16:56:41 · 413 阅读 · 0 评论 -
背包问题:c++回溯法求解背包问题
1.问题的重述: 给定n种物品和一个背包。物品i的重量是wi,其价值为pi,背包的容量为C。应如何选择装入背包的物品,使得装入背包中物品的总价值最大?2.问题的分析 根据题目所给的信息可知就是在wi<c时可以放入物品,并且结合要求价值最大这一点来进行挑选,例如:共有5种物品,即n=5;背包容量c=30;各物品的重量 wi[5]={15,5,6,12,9};...原创 2018-11-03 22:03:53 · 2487 阅读 · 0 评论 -
极差问题:c++求解1-10的极差问题的初等解法
1.问题的描述 在黑板上一共有1-10 共10 个数,,进行如下操作:每次擦去其中的两个数a和b,然后在数列中加入一个数a*b+1,如此下去直至黑板上只有一个数,在所按的操作方式得到的数当中,最大的为max,最小的为min,则该数列的极差定义为M=max-min;对于给定的数列: arr[] = { 1,6,5,9,8,4,3,7,2,10 };编程计算极差M。2.问题的分析...原创 2018-11-02 11:37:48 · 2980 阅读 · 1 评论 -
c++求解n位正整数删除k位之后的最小值
1.问题的重述 给定一个n位正整数a, 去掉其中k个数字后按原左右次序将组成一个新的正整数。对给定的a, k寻找一种方案,使得剩下的数字组成的新数最小。2.问题的分析 根据问题所述首先我们先把n为正整数拆分成每一个数字存在一个数组arr[N]中,例如正整数19687,拆分之后存在数组 arr[5]={7,8,6,9,1},然后对这个数组按从打到小进行排序(也可以从小...原创 2018-11-04 23:38:19 · 2870 阅读 · 5 评论 -
c++求解0-1背包问题,背包问题和多重背包问题
01背包问题容量为10的背包,有5种物品,每种物品只有一个,其重量分别为5,4,3,2,1,其价值分别为1,2,3,4,5。 设计算法,实现背包内物品价值最大。 代码如下(输出14)#include <iostream>#include<algorithm>using namespace std;int main() { int total...原创 2018-11-05 23:19:16 · 729 阅读 · 0 评论