最近看完了利用回溯法求八皇后问题,最后成功求解到92种解法,然后在看利用贪心求解背包问题,突然想到其实也可以利用回溯法求解背包问题,本质上回溯法是一个穷举的方式在求. 回溯法求解出的结果肯定是正确的,这也可以验证自己所写的贪心算法的正确性.问题描诉: 设定Wmax为最大重量,W[](0~n-...
分类:
其他好文 时间:
2014-10-22 23:19:23
阅读次数:
313
穷举递归和回溯算法在一般的递归函数中,如二分查找、反转文件等,在每个决策点只需要调用一个递归(比如在二分查找,在每个节点我们只需要选择递归左子树或者右子树),在这样的递归调用中,递归调用形成了一个线性结构,而算法的性能取决于调用函数的栈深度。比如对于反转文件,调用栈的深度等于文件的大小;再比如二分查...
分类:
编程语言 时间:
2014-10-20 22:34:57
阅读次数:
354
对于区间DP,首先枚举要进行操作的区间长,然后枚举操作区间的左端点,用左端点和区间长算出右端点,然后枚举区间中的点进行DP操作就好了。下面是模式代码:首先是P的:Forp:=1tondo//p是区间长度,作为阶段。fori:=1tondo//i是穷举的区间的起点beginj:=i+p-1;//j是区...
分类:
其他好文 时间:
2014-10-20 09:51:12
阅读次数:
169
第一节、坑爹的奥数p59 穷举 3位数+3位数=3位数,1~9九个数,只能用一次。#include int main(){ int a,b,c,d,e,f,g,h,i,total=0; for(a=1; aint main(){ int a[10], i, total = 0, book[10...
分类:
其他好文 时间:
2014-10-19 14:17:45
阅读次数:
296
回顾:穷举法(重点掌握):虽然运用for...嵌循环语句,但是也要找到执行for...循环的规律,即一个题目中,需要得到哪个值,首先定义它初始变量;哪个条件需要改变,它对应的就是for...循环的初始条件。例题1:例题2:因为要求出每一种面值各有多少种可能,必须先考虑每一种面值2元,3元,5元跟总面...
1·一共有200元钱,拍子15元一个,水2元一瓶,球3元一个,问每种至少买一个总共有几种可能? int he = 0; //总计的可能数(从零开始) for (int i = 1; i * 15 <= 200; i++) //i为拍子的个数 { for (int j = 1; j * 2 <= 20...
分类:
其他好文 时间:
2014-10-17 15:12:33
阅读次数:
159
//2014.10.17 01:19
//题意:
//先输入一个数N,然后分块输入,每块输入每次2个数,n,m,直到n,m同时为零时
//结束,当a和b满足题目要求时那么这对a和b就是一组
//注意:
//每一块的输出中间有一个回车
A Mathematical Curiosity
Time Limit: 2000/1000 MS (Java/Others) ...
分类:
移动开发 时间:
2014-10-17 13:49:23
阅读次数:
183
穷举:把所有的可能性都列举一遍1.羽毛球怕15元一个,球3元一个,水2元一瓶,一共有200元,每种至少一个,列出所有可能:2. 50元钱,有面值2元,3元,5元,不要求每种至少一张,有多少种组合可能:3. 百鸡百钱,有100文钱,公鸡2文,母鸡一文,小鸡半文,每种至少一只,买100只鸡,有多少可.....
分类:
其他好文 时间:
2014-10-17 11:34:04
阅读次数:
155
for(初始条件;循环条件;状态改变){for(初始条件;循环条件;状态改变){ 循环体 }}一般,用来解决循环的方法:穷举法、迭代法。示例一:阶乘的和示例二:练习一:兔子问题的改编练习二:等腰三条形练习三:右下角直角等腰三角形练习四:菱形的上半部分练习五:菱形的下半部分练习六:整个菱形三个for循...
分类:
其他好文 时间:
2014-10-16 19:33:33
阅读次数:
248
求迷宫中从入口到出口的所有路径是一个经典的程序设计问题。由于计算机解迷宫时,通常用的是“穷举求解”的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路退回,换一个方向再继续探索,直至所有可能的通路都探索到为止。为了保证在任何位置上都能沿原路退回,显然需要用一个后进先出的结构来...
分类:
其他好文 时间:
2014-10-13 10:18:59
阅读次数:
315