包含删数问题,0-1背包和部分背包问题
贪心法也是从问题的某一个初始解出发,向给定的目标递推,但不同的是,推进的每一步不是依据某一固定的递推式,而是做一个当时看似最佳的贪心选择,不断地将问题实例归纳为更小的相似的子问题,并期望通过所做的局部最优选择产生出一个全局最优解。
这种选择未必能得出全局最优解,在下面的实例中可得到全局最优。
注意:编写这几个程序的过程发现在linux gcc编译的程序数组越界不会提示错误,也不警告,只是后面的变量参数都为0
删数问题
键盘输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数,编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小 输出应包括所去掉的数字的位置和组成的新的正整数(N不超过240位) 输入数据均不需判错
算法分析
代码如下
/*
* =====================================================================================
*
* Filename: delete.cc
*
* Description: 键盘输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数,编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小
* 输出应包括所去掉的数字的位置和组成的新的正整数(N不超过240位)
* 输入数据均不需判错
*
* Version: 1.0
* Created: 05/08/15 09:25:29
* Revision: none
* Compiler: gcc
*
* Author: xiu,
* Organization:
*
* =====================================================================================
*/
#include<iostream>
#include<string>
#define SUM 256
usin