这个要用动态规划,呵呵:这道题要用到迭代加深搜索(DFSID)。由于要求输出的是使用最少的牛奶桶,所以要先找牛奶桶数量为1的时候所有的组合,如果没有解再找牛奶桶数量为2...直到牛奶桶数量为P。当搜索到一个组合,判断用这些牛奶桶是否能组成目标解的时候,可以用动态规划的方法来做。设f[i]是当需求的牛...
分类:
其他好文 时间:
2014-10-21 22:51:13
阅读次数:
383
埃及分数迭代加深搜索题意:将一个分数拆分成几个分子为 1 的分数的和。要求拆分出的个数最少。正解:据说是黑书上的题目。思路很明确,用 ID-DFS 每次限定深度进行搜索即可。为了使序列不重复,每次找到的分数都要比前一个分数小,即分母比前一个分数的分母大。同时要保证当前的分数加上之前的分数之和不大于题...
分类:
其他好文 时间:
2014-08-26 21:21:46
阅读次数:
213
这题我还是看题解啊囧。(搜索实在太弱。完全没想到A*,还有看题的时候想错了,。,- -)好吧,估价还是那么的简单,判断颜色不同的数目即可(左上角的联通块不算在内)然后A*还是一样的做法。迭代加深还是一样的味道~在这里我们用c[i][j]来表示左上角开始的联通块和联通块外面一层(因为要从外面一层拓展颜...
分类:
其他好文 时间:
2014-08-07 00:35:57
阅读次数:
288
迭代加深搜索
自己看的时候diyibiangengbenjiukanbu...
分类:
其他好文 时间:
2014-07-31 03:02:05
阅读次数:
226
求最少去掉几个公交站使得从s到t的最短路径大于k。迭代加深搜索。#include #include #include using namespace std;#define maxn 60#define maxm 50000int n,m,K,cnt,up;int head[maxn],pre[ma...
分类:
其他好文 时间:
2014-07-14 09:29:57
阅读次数:
221
题目链接
迭代加深搜索思想。
枚举答案K,考虑到能否切出K个木头,那么我们当然选最小的K个来切。
1、对于原材料,我们是首选最大的还是最小的?显然,首选大的能够更容易切出,也更容易得到答案。
2、对于目标木头,我们是优先得到最大的还是最小的?显然,由于K个木头我们都要得到,那么当然先把最大的(最难得到的)先得到,这种搜索策略更优。
3、假设总原材料为all,前K个木头总和为sum,那...
分类:
其他好文 时间:
2014-05-09 21:07:28
阅读次数:
305