输入一个数组和target,选择任意个数的元素,求和为target的组合,每个元素可以选择多次 dfs,回溯,因为每个元素可以选择多次,所以向下搜索的时候从当前元素开始 同类题:http://blog.csdn.net/AC_0_summer/article/details/48293581 ...
分类:
其他好文 时间:
2016-08-30 13:26:41
阅读次数:
140
输入一个数组,选择任意个数的元素,求和等于target的所有组合,每个元素只能选择一次,组合不能重复 求组合:先排序,dfs,回溯 去重:把dfs想象成一颗树,同一层如果元素值相同,那么只对第一个元素深搜,其余相同的元素不必深搜,注意是同一层,看代码注释 ...
分类:
其他好文 时间:
2016-08-30 13:24:49
阅读次数:
138
题目链接:http://poj.org/problem?id=1321 题意:中文题目,就不多说了。。。。。。 思路: 解题方法挺多,刚开始想的是先从N行中选择出来含有“#”的K行,再在这K行中放置K个棋子,就好了。时间复杂度为O( C(n, k) * k! ),真实写的时候其实用了2N * k!, ...
分类:
其他好文 时间:
2016-08-02 18:52:28
阅读次数:
155
http://poj.org/problem?id=1154 ...
分类:
其他好文 时间:
2016-05-21 15:47:07
阅读次数:
144
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=2 解题报告: 这里的深搜有一点不同,就是,在深搜每一个点时,都要深搜每一个点,就是一个完全二叉树。 借鉴:http://blog.csdn.net/zxy_snow/ar
分类:
Web程序 时间:
2016-03-08 19:28:48
阅读次数:
137
这个题就是给出一个数字n,表示有n个数。编号为1~n。然后要求我们将这n个数连起来变成一个环,要求随意两个数相加所得值必须为素数。假设满足条件就将这个环输出来!这个题:dfs+回溯+推断。然后注意先是将值放到一条线上,假设头尾相加和也为素数,则能够连成环,然后就能够输出了!代码例如以下:#inclu...
分类:
其他好文 时间:
2016-01-05 15:31:18
阅读次数:
117
题目链接:http://poj.org/problem?id=2488A Knight's JourneyTime Limit:1000MSMemory Limit:65536KTotal Submissions:36695Accepted:12462DescriptionBackgroundThe...
分类:
其他好文 时间:
2015-10-31 00:23:07
阅读次数:
232
翻纸牌游戏Time Limit : 9000/3000ms (Java/Other)Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 2Accepted Submission(s) : 2Problem Description...
分类:
其他好文 时间:
2015-10-08 21:23:08
阅读次数:
234
转载请注明出处:http://blog.csdn.net/u012860063题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4499Cannon Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 6...
分类:
其他好文 时间:
2015-09-12 20:17:57
阅读次数:
214
因为给定了a-z这个范围,并且字符串的添加和查找符合Trie的常用方法,因此考虑使用Trie这种数据结构。
然后和普通的Trie不同的是,要匹配正则表达式中的“.”,也就是说在这一层是无法判断沿着拿个结点向下走的,所以要循环这一层的结点,只有这一层所有结果失败后才能返回false,剩下的递推。所以我们采取Trie+回溯法。
代码中的searchHelp函数是专门用于回溯的,要求会回溯的掌握比较...
分类:
其他好文 时间:
2015-09-04 14:23:13
阅读次数:
170