码迷,mamicode.com
首页 >  
搜索关键字:剪枝    ( 1397个结果
Combination Sum
题目链接: 回溯算法的剪枝非常重要!! 这个题是一个NP问题,方法仍然是N-Queens中介绍的套路。基本思路是先排好序,然后每次递归中把剩下的元素一一加到结果集合中,并且把目标减去加入的元素,然后把剩下元素(包括当前加入的元素)放到下一层递归中解决子问题。算法复杂度因为是NP问题,所以自然是指数量
分类:其他好文   时间:2016-03-08 23:35:07    阅读次数:189
[2016-03-03][UVA][1374][Power Calculus]
[2016-03-03][UVA][1374][Power Calculus] 时间:2016-03-03 16:14:01 星期四题目编号:UVA 1374题目大意:给出x的指数n,问,x经过多少次相乘才能得到x^n输入:n输出:次数分析:求乘法的所有可能方式,用dfs,适当剪枝优化,变成IDA*...
分类:其他好文   时间:2016-03-03 19:33:56    阅读次数:126
六角幻方 C语言
方法可能有点笨,采取的是先外圈(1-12),再中间(13-18)的排序方法,这样能尽可能先剪枝剪掉三个求和的,再去掉四个求和的。 但是只用数组,检查重复似乎是一件很困难的事情,得到的十二个结果实际上是一个,2(镜像)*6(角度) //原创代码,作者:lhy1024#include<stdio.h>
分类:编程语言   时间:2016-02-21 19:55:44    阅读次数:368
hd1010
这道题一开始做成dfs,求最短路径去了。后来发现要在t时刻时恰好到达,所以要用bfs。然后学到一个奇偶剪枝的技巧。 现假设起点为(sx,sy),终点为(ex,ey),给定t步恰好走到终点, s | | | + — — — e 如图所示(“|”竖走,“—”横走,“+”转弯),易证abs(ex-sx)+
分类:其他好文   时间:2016-02-15 18:14:13    阅读次数:115
UVALive 5741 Wealthy Family
树形背包。DP递推的思路很简单.... 但是由于节点有15万个,先不论空间复杂度,这样开dp数组 dp[150000+10][300+10],如果初始化是memset(dp,-1,sizeof dp),则必然超时。 所以需要一个状态数剪枝。。。即记录这个节点最多组合的数量。 UVALive是不限制内
分类:其他好文   时间:2016-02-10 10:58:55    阅读次数:237
宽搜和广搜、
广搜与深搜的小区别 一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解", 而深搜用于找多个解或者是"步数已知(好比3步就必需达到前提)"的标题,它的空间效率高,然则找到的不必定是最优解,必需记实并完成全数搜索,故一般情况下,深搜需要很是高效的剪枝(优化). 像
分类:其他好文   时间:2016-02-02 22:26:26    阅读次数:571
HDU 5617 Jam's maze(DP)
题目链接:点击打开链接 题意:给你一个n*n的矩阵。  求从(1,1)走到(n,n)所组成的回文串个数。 思路:一开始傻逼把状态写成了d[x][y][s],s表示一个串, 用map存的, 后来发现极不可行, 因为这个状态简直太大了, 包括了s串的所有情况。 只是相当于一个dfs中的剪枝罢了。 后来想到, 其实串是不必记录的, 我们只要统计个数, 所以不妨在DP的过程中就判断回文串的情况, 那...
分类:其他好文   时间:2016-02-01 02:20:58    阅读次数:209
poj 1088(DP+递归)
这题状态方程很容易得到:DP[i][j] = max(DP[i-1][j],DP[i+1][j],DP[i][j-1],DP[i][j+1]) + 1难点在于边界条件和剪枝,因为这方程的条件是点在map里,且只有递增关系才会变化,如果用循环的话要判断递增,所以用递归比较方便#include #inc...
分类:其他好文   时间:2016-01-24 18:17:58    阅读次数:197
ZOJ 2110 Tempter of the Bone(条件迷宫DFS,HDU1010)
题意 一仅仅狗要逃离迷宫 能够往上下左右4个方向走 每走一步耗时1s 每一个格子仅仅能走一次且迷宫的门仅仅在t时刻打开一次 问狗是否有可能逃离这个迷宫直接DFS 直道找到满足条件的路径 或者走全然部可能路径都不满足注意剪枝 当前位置为(r,c) 终点为(ex,ey) 剩下的时间为lt 当前点到终点的...
分类:其他好文   时间:2016-01-21 23:41:40    阅读次数:257
Codeforces Round #313 (Div. 2) D.Equivalent Strings (字符串)
感觉题意不太好懂 = =#给两个字符串 问是否等价等价的定义(满足其中一个条件):1.两个字符串相等 2.字符串均分成两个子串,子串分别等价因为超时加了ok函数剪枝,93ms过的。#include #include #define clr(x,c) memset(x,c,sizeof(x))usin...
分类:其他好文   时间:2016-01-19 15:40:19    阅读次数:121
1397条   上一页 1 ... 81 82 83 84 85 ... 140 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!