码迷,mamicode.com
首页 >  
搜索关键字:dfs    ( 10564个结果
Hdu 2196 Computer (树形dp)
题目大意: 求出每一个结点距离叶子节点的最大距离。 思路分析: 假设1为树的根。 通过一遍dfs 可以求出每个节点到儿子节点上的叶子节点的最远距离。 然后我们要做的就是如果更新答案。 问题就是如果我们开始求的最大值本来就是一个儿子更新的,如果再深搜的话又会造成重复更新。 所以就记录两个值,最大值和次大值。 然后不断更新这两个值。 #include #includ...
分类:其他好文   时间:2014-08-18 18:44:32    阅读次数:225
UVA10120 - Gift?!
题目链接 题意:有n个石头,编号从1到n,礼物藏在编号为m的石头上,第i次跳2*1-1格,可以向前跳也可以向后跳,问是否能拿到礼物。 思路:简单的DFS。重点是有规律,就是n>=50时,不管m为何值,都是可以抵达m石头,所以只要搜索50以下就可以了。 代码: #include #include #include #include using namespa...
分类:其他好文   时间:2014-08-18 18:43:02    阅读次数:283
HDU 1010-Tempter of the Bone(DFS+奇偶剪枝)
Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 71121    Accepted Submission(s): 19592 Problem Description The ...
分类:其他好文   时间:2014-08-18 18:37:22    阅读次数:325
UVA11127- Triple-Free Binary Strings(DFS+位运算)
题目链接 题意:给出长度为n的字符串,字符串由‘1’,‘0’,‘’组成,其中‘’可以任意替换为‘1’,‘0’,求不存在连续3个相同子串的字符串的最多个数。 思路:我们可以利用二进制的形式来表示字符串,进行DFS。利用位运算的左移来表示在‘*’位置上放置‘1’,注意在递归的过程中注意判断之否存在3个连续相同的子串。 代码: #include #include #i...
分类:其他好文   时间:2014-08-18 16:29:12    阅读次数:222
poj 2594Treasure Exploration(有向图路径可相交的最小路径覆盖)
1 #include 2 #include 3 #include 4 #include 5 #define N 505 6 using namespace std; 7 8 int g[N][N]; 9 int n, m;10 int vis[N], linker[N];11 bool dfs...
分类:其他好文   时间:2014-08-18 15:48:42    阅读次数:191
【HackerRank】Coin on the Table
题目链接:Coin on the Table一开始想用DFS做的,做了好久都超时。看了题解才明白要用动态规划。设置一个三维数组dp,其中dp[i][j][k]表示在时间k到达(i,j)所需要做的最小改动,那么递推式如下:图片来源:Editorial,其中当从周围的格子可以直接移动到(i,j)时,de...
分类:其他好文   时间:2014-08-18 15:43:52    阅读次数:176
N-Queens
The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other....
分类:其他好文   时间:2014-08-18 10:51:34    阅读次数:121
N-Queens II
Follow up for N-Queens problem. Now, instead outputting board configurations, return the total number of distinct solutions. public class Solution { public int totalNQueens(int n) { ...
分类:其他好文   时间:2014-08-18 10:49:54    阅读次数:206
HDU 1501 Zipper(DP,DFS)
题意 判断能否由字符串a,b中的字符不改变各自的相对顺序组合得到字符串c 本题有两种解法 DP或者DFS 考虑DP 令d[i][j]表示能否有a的前i个字符和b的前j个字符组合得到c的前i+j个字符 值为0或者1 那么有d[i][j]=(d[i-1][j]&&a[i]==c[i+j])||(d[i][j-1]&&b[i]==c[i+j]) a,b的下标都是从1开始的 注意0的初始化...
分类:其他好文   时间:2014-08-18 09:17:03    阅读次数:288
HDU 1016 Prime Ring Problem
在刚刚写完代码的时候才发现我以前交过这道题,可是没有过。后来因为不理解代码,于是也就不了了之了。可说呢,那时的我哪知道什么DFS深搜的东西啊,而且对递归的理解也很肤浅。这道题应该算HDU 2610 Sequence one的简化版,判重也非常简单。其他也没有什么好说的了,直接上代码吧。 1 //#d...
分类:其他好文   时间:2014-08-18 00:07:03    阅读次数:207
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!