E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
广搜-深搜
树形DP(简单题)(Y HDU4705)
题意:给出一个n个节点的树形图,统计{A,B,C}的数量,其中ABC分别是树上三个不同的节点,并且这三个节点不能被一条路径覆盖 分析:对于下图 进行dfs
深搜
统计,num[u]统计回溯到当前节点
·
2015-11-07 12:57
HDU
树形DP(统计直径的条数 HDU3534)
计算出每个点为根节点的子树的最长距离和次长距离),然后找出L=dis[u][0]+dis[u][1]最长的那个点u,然后在以u为根节点dfs,统计长度为L的条数:具体做法:把u的儿子节点为根节点的子树
深搜
遍历到每个叶子节点
·
2015-11-07 12:56
HDU
joj 2558 Ocean Currents 特别的
广搜
题意: 一个R*C的海面,1<= R、C<=1000,上面每个点都有八个方向之一的current,顺着流走一个单位cost 0,不顺着走一个单位cost 1。计算由一个初始位置到结束位置最小的cost. 思路: 本来用A*,TLE,想想主要是因为A*考虑访问过的顶点,其实,这个题A*用的很憋屈,启发函数必须设成0。后来还是用了BFS,用两个队列,先把cost为0的全部入队
·
2015-11-07 12:46
current
八数码 poj 1077
广搜
A* IDA*
= 362880 种,不算太多,可以满足
广搜
和A*对于空间的需求。
·
2015-11-07 12:45
poj
hdu 3912 Turn Right
pid=3912 这个题我用递归
深搜
模拟,直接爆栈了。哭啊!为什么! 这个题最主要是能走重复格子,但是方向不一样。
·
2015-11-07 11:21
right
基于邻接表建图的几种方法
最近做图的题比较多,除了克鲁斯卡尔和floyd,像
广搜
,普里姆,Bellman-Ford,迪杰斯特拉,SPFA,拓扑排序等等,都用到图的邻接表形式。
·
2015-11-07 11:14
方法
hdu 1312 Red and Black
这道是搜索水题,dfs,bfs都可以,一开始我用dfs,可是竟然出了很多错误,后来看清样例才发现题目原来是先输入列再输入行的,我说有必要这样卡别人么,然后
深搜
测试样例时也爆栈了(毕竟搜索类的题目基本没碰过
·
2015-11-07 10:10
HDU
八数码(双向
广搜
)
早上看了提到双向
广搜
的一篇文章,其中讲了双向
广搜
可以节约一半的时间和一半的空间(理论上),我画了一幅图: (上面的对应普通BFS,下面的对应双向
广搜
) 可以看出简单BFS的搜索节点大约是双向
广搜
的二倍
·
2015-11-07 10:06
poj1011
从小到大枚举原木棒长度,然后对于每次枚举进行
深搜
。
深搜
过程就是用输入的小木棒来填充原来的一根根木棒的过程。
·
2015-11-06 08:11
poj
poj2248
迭代加
深搜
索 View Code #include < iostream > #include <
·
2015-11-06 08:52
poj
151105总结
T1给出的是先序遍历,已知中序遍历都是1...N,求根到每个点的路径先序遍历:根左右中序遍历:左根右然后
深搜
数据有问题-_-|||需要的知识:二叉树遍历T2区间dp枚举区间,在枚举最后一个点f[l,r]
beginendzrq
·
2015-11-05 17:00
总结
八皇后问题——回溯
深搜
回溯法解决八皇后问题 回溯发的步骤: 从第一行开始进行,设前i-1行上的皇后已经布局好,互不攻击。现考虑第i行上的皇后的位置, 使之与前i-1行上的皇后也都互不攻击。 (1)检查第i行上的皇后与前i-1行的皇后是否互不攻击。若有攻击,则将第i行上的皇后右移一个位置, 重新进行这个过程;若无攻击,则考虑安排下一行上的皇后位置。 (2)若安排好的皇后是最后一行,则说明已经找到了8个皇后互不攻击的一
·
2015-11-05 08:51
八皇后
堆
思路:这个题在测试的时候直接放弃了,想写一个
深搜
,结果十分钟赤裸裸的写渣了。下午先用了dp,结果第一次只写对了几个点。后来看了
·
2015-11-05 08:02
堆
双向
广搜
初见
先简单的了解一下,双向
广搜
很好理解,就是从两端一起搜,如果遇到之前已经搜到过的状态,就相当于已经有解了,这样就会节省一半的内存和时间,并且代码复杂度并不高。
·
2015-11-05 08:02
20150102练习
思路:一开始写了一个裸裸的
深搜
,但是tle了(当时自己以为不会。。。)。后来听说二分答案,然后就有了一点思路。
·
2015-11-05 08:01
hdu 1242 Rescue
很明显是
广搜
了,因为 'r' 可能
·
2015-11-05 08:42
HDU
hdu 1253 胜利大逃亡
因为要求"最少"之类的,所以很容易想到
广搜
,没错,这是 bfs 的裸题,只是它的状态数是个三维数组,转移的状态(方向)也从二维数组的4个变成了6个而已,但原理是一样的,直接
广搜
即可,
·
2015-11-05 08:41
HDU
hdu 1241 Oil Deposits
水题,求连通分量的个数,
深搜
一遍即可,之所以这么水还写下来,是因为样例一组有误的数据弄得我调试了一个多小时,白白浪费了很多精力和时间。
·
2015-11-05 08:40
HDU
pku3411 Paid Roads 搜索 + 剪枝
Paid Roads 题很简单,但是需要些剪枝技巧,我的做法是,先不管Pi,直接用dijkstra,求得1到N的最短距离,作为搜索上界或次优解,再用
深搜
,对边搜索,求得最优解,刚开始没有求上界的时候TLE
·
2015-11-03 22:46
pku
poj1041 无向图欧拉回路 按最小升序输出
John's trip 这道题很不错,由于图已经保证连通,首先用度数是否是偶数,判断图是否是欧拉图,然后,输出最小升序,就成了一大难题,百科上有代码,这题让我理解了
深搜
的又一强大功能,其实就是每次都从小往大的搜
·
2015-11-03 22:42
poj
hdu1515 hdu1401 搜索
hdu1515 Anagrams by Stack
深搜
能过,想好搜索技巧,很容易过。
·
2015-11-03 22:34
HDU
pku1011
深搜
+强剪枝
题目链接:Sticks 分析:这题卡了我好久!!这题大意是有几根相同长度的棒子,现在被分成了n段,想知道他原来没跟棒子最短的长度是多少。由现在n段中最长的棒子长度max,到所有棒子的总长度sum枚举即可。不过这题的剪枝很强,一般的剪枝都会超时,我不知道TLE了多少次,discuss里有组很BT的数据,就算拿我现在0msAC的代码跑,也需要将近3—4ms才能搞定,看来pku数据还是蛮弱的,不过我也
·
2015-11-03 22:17
pku
HDU 2181 哈密顿绕行世界问题【DFS】
题意:给出一个十二面体,它的每个顶点是一个城市,从一个城市m出发并回到m,输出所有可行的路径 先把边记录下来,再
深搜
1 #include<iostream> 2 #include
·
2015-11-03 21:49
HDU
UVA 10047 The Monocycle (状态记录
广搜
)
Problem A: The Monocycle A monocycle is a cycle that runs on one wheel and the one we will be considering is a bit more special. It has a solid wheel colored with fi
·
2015-11-03 21:51
uva
ZOJ 3644 Kitty's Game (
广搜
,STL中的map,vector)
Kitty's Game Time Limit: 2 Seconds Memory Limit: 65536 KB Kitty is a little cat. She is crazy about a game recently. There are n scenes in the game(mark from 1 to n). E
·
2015-11-02 19:26
vector
P1005 迷宫 - Smartoj
一道简单的
广搜
或者
深搜
题, 题目ID:1005 题目名称:迷宫 有效耗时:0 ms 空间消耗:784 KB 程序代码: #include<iostream
·
2015-11-02 19:48
OJ
广搜
与
深搜
的小区别
一般来说,
广搜
常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解", 而
深搜
用于找多个解或者是"步数已知(好比3步就必需达到前提)"的标题
·
2015-11-02 18:44
区别
POJ 1111 Image Perimeters
直接
深搜
#include <iostream> #include <fstream> #include <string> #include <algorithm
·
2015-11-02 18:16
image
USACO section 1.4.4 Mother's Milk
知道用
深搜
了,但是还是不知道怎么写,看了别人的代码,才会写dfs()这个函数了。其实确定
深搜
了之后,写这个函数的时候,不需要考虑递归是怎么进行的,只需要考虑这次和下一次的操作过程即可。 2.
·
2015-11-02 18:09
USACO
POJ 1154 LETTERS
深搜
的概念和回溯的方法,百度上很多,我就不多说什么了。 为什么一直WA?当然和题目数据无关,是我自己的问题。。 第一,判断是否在地图内。
·
2015-11-02 18:27
poj
【字母全排列】 poj 1256
深搜
注意与STL模版的去重函数唯一的区别就是有去重。
·
2015-11-02 17:03
poj
迭代加
深搜
索求字符串最小周期
1 //==================================================== 2 //迭代加
深搜
索求字符串最小周期; 3 //===============
·
2015-11-02 17:23
字符串
POJ 1256.Anagram
id=1256 解题思路: 两种方法: 方法一:简单的
深搜
DFS 搜索所有的可能,但是要注意几个连续相同的字符算作一种情况。 方
·
2015-11-02 17:46
poj
HDU--杭电--1253--胜利大逃亡--
广搜
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 21542 Accepted Submission(s): 8479 Proble
·
2015-11-02 16:50
HDU
HDOJ-1035 搜索模拟问题[
深搜
]
Robot Motion Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3528 Accepted Submission(s): 1644 Prob
·
2015-11-02 15:11
搜索
hdu 3498 whosyourdaddy
pid=3498 这两天学习了Dancing Links ,它主要对搜索的优化,尤其对于矩阵, 进行
深搜
的时候,随着层数的加深,矩阵会越来越稀疏, 如果还是用一般的遍历的话,
·
2015-11-02 15:27
HDU
树的直径(最长路) 的详细证明
主要是利用了反证法: 假设 s-t这条路径为树的直径,或者称为树上的最长路 现有结论,从任意一点u出发搜到的最远的点一定是s、t中的一点,然后在从这个最远点开始搜,就可以搜到另一个最长路的端点,即用两遍
广搜
就可以找出树的最长路
·
2015-11-02 14:35
树
poj1129
分析:
深搜
,对于每个点先尝试已经给别的点染过的颜色,如果不行再尝试染新的颜色,注意新的颜色只需要尝试一次即可,因为各种新的颜色对于当前状态来说是等价的。
·
2015-11-02 14:28
poj
poj 2312 Battle City(优先队列+bfs)
看到这题首先想到
广搜
来找最短时间,但是这里可以对B和E进行处理,方便计算~ 1 #include <iostream> 2 #
·
2015-11-02 14:06
优先队列
HDU 2351 catch him 广度优先搜索
不得不说这道题木让人很蛋疼,本来是一道很简单的
广搜
题目,但是由于人的位置处于一块连续的区域,所以难度就出来了,关键是防守人的位置怎么存储,这里我是把它存储在一个node类型的vector数组里面,为什么用
·
2015-11-02 13:15
catch
欧拉回路
总结,求解欧拉回路方法: 构造邻接表,从顶点1开始,以点
深搜
,搜到不能再搜,搜到天荒地老,最后输出点既是欧拉回路。(
·
2015-11-02 12:44
USACO Section 5.3 Milk Measuring (IDDFS+dp)
迭代加
深搜
索,从小到大枚举桶数的上限maxd:对每个maxd,枚举每个组合,判断是否能够倒出q;直到得到answer。判断的部分就用dp(完全背包)。
·
2015-11-02 11:56
USACO
深搜
和宽搜的c++实现
以前准备保研笔试的时候曾经练习过c语言实现这两种搜索,但是过去一段时间之后,遇到
深搜
和宽搜的实现,还是显得很是捉急啊!
·
2015-11-02 11:58
C++
UVa (一道比较复杂的
广搜
) 816 Abbott’s Revenge
题意: 给出一个迷宫,在迷宫的节点处,面向某个方向只能向给定的方向转弯。给出起点和终点输出迷宫的最短路径,这里指的是刚刚离开起点的时刻,所以即使起点和终点重合路径也非空。 分析: 用三个变量来表示状态,r,c,dir,分别代表所处的位置和朝向。在输入数据的同时,也要初始化has_edge[r][c][dir][turn],代表处于(r, c, dir)这个状态时能否向turn转弯。 结构体
·
2015-11-02 11:08
uva
HDU 1016 Prime Ring Problem
可说呢,那时的我哪知道什么DFS
深搜
的东西啊,而且对递归的理解也很肤浅。 这道题应该算HDU 2610 Sequence one的简化版,判重也非常简单。
·
2015-11-02 11:22
Prim
HDU 1253 (简单三维
广搜
) 胜利大逃亡
这么简单的
广搜
居然爆内存了,而且一直爆,一直爆,Orz 而且我也优化过了的啊,尼玛还是一直爆!
·
2015-11-02 11:18
HDU
HDU 1242 Rescue
简单变形的
广搜
,而HDU 1026 Ignatius and the Princess I 是这道题的升级版,因为每个格子停留的时间可能不相同。
·
2015-11-02 11:17
HDU
HDU 1240 (简单三维
广搜
) Asteroids!
给出一个三维的迷宫以及起点和终点,求能否到大终点,若果能输出最短步数 三维的问题无非就是变成了6个搜索方向 最后强调一下xyz的顺序,从输入数据来看,读入的顺序是map[z][x][y] 总之,这是很基础的一道题 1 //#define LOCAL 2 #include <iostream> 3 #include <cstdio>
·
2015-11-02 11:16
HDU
HDU 1026 Ignatius and the Princess I
广搜
的一个简单变形,思路还是一样的,依旧是维护一个队列,将一个节点不断的扩展,扩展完后出队。 这道题还有两个特点就是:可能遇到怪兽,因此需要额外花费n秒的时间来打败它。 最终还要输出路径。
·
2015-11-02 11:16
HDU
POJ 3984 迷宫问题
第二道
广搜
的问题 虽然思路很清晰,可真要自己把代码敲出来并不是一件容易的事 用一维数组模拟一个队列,head和tail分别记录队首和队尾 先将迷宫的起点入队,然后向四个方向拓展,如果没有出界或者没有遇到墙壁
·
2015-11-02 11:12
poj
上一页
51
52
53
54
55
56
57
58
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他