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
广搜-深搜
Oil Deposits(dfs
深搜
)
ProblemDescriptionTheGeoSurvCompgeologicsurveycompanyisresponsiblefordetectingundergroundoildeposits.GeoSurvCompworkswithonelargerectangularregionoflandatatime,andcreatesagridthatdividesthelandintonum
Scarlett_geng
·
2015-08-13 02:00
HDU
DFS
307 - Sticks (
深搜
+ 剪枝)
由于要求最小长度,所以可以从小到大枚举木棍的长度,显然,木棍最小值为所给木棍的最大值。所以从该值开始枚举木棍长度,则木棍如果大于所有木棍之和,那么答案肯定就是所有之和了。该题时间卡的比较紧,需要努力剪枝,总的来说就是找到几种肯定不会得到最优解的情况,然后直接回溯。细节见代码:#include usingnamespacestd; constintmaxn=10000; intn,a[maxn],v
weizhuwyzc000
·
2015-08-12 21:00
搜索
ACM
uva
ACM-ICPC
BFS
总体感悟
广搜
的话,占内存多,能找到最优解,必须遍历所有分枝. 广优的一个应用就是迪科斯彻单元最短路径算法。BFS在求解最短路径或者最短步数上有很多的应用。应用最多的是在走迷宫上。
liuyanfeier
·
2015-08-12 19:00
ACM
图的
深搜
与
广搜
#include#include#includeinta[100][100],p[100];intd[100],n;voiddfs(intx){inti,j,k;p[x]=1;printf("%d",x);for(i=1;i<=n;i++)if(a[x][i]&&!p[i])dfs(i);}intmain(){inti,j,k,k1,m;intx,y,e;scanf("%d%d",&n,&m);f
cnyali
·
2015-08-12 17:06
程序代码
算法分享
图的
深搜
与
广搜
#include #include #include inta[100][100],p[100]; intd[100],n; voiddfs(intx){ inti,j,k; p[x]=1; printf("%d",x); for(i=1;i<=n;i++) if(a[x][i]&&!p[i]) dfs(i); } intmain(){ inti,j,k,k1,m; intx,y,e; scanf
cnyali
·
2015-08-12 17:00
DFS与BFS
广搜
与
深搜
的小区别一般来说,
广搜
常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解",而
深搜
用于找多个解或者是"步数已知(好比3步就必需达到前提)"的标题,它的空间效率高,然则找到的不必定是最优解
Grit_ICPC
·
2015-08-12 15:00
DFS
bfs
1374 - Power Calculus (迭代加深+剪枝)
那么显然这是一个迭代加
深搜
索,从小到大枚举深度上限。为了降低时间复杂度,我们要尽量的减少迭代次数,所以我们优先做加法,并且优先将最大的两个数相加,这样可以最快的接近目标。
weizhuwyzc000
·
2015-08-10 20:00
ACM
uva
迭代加深搜索
深搜
,
广搜
,图的遍历,基础(updating)
一、首先是图的存储和表示:1.图的邻接矩阵表示:使用二维数组map[N][N]可表示图,map[u][v]的内容是一个标志。因为c语言中没有bool的类型,只有int的类型,所以在c中当值为1的时候,表示u和v两个点之间有边,当为0的时候表示两个点之间没有边。在c++中用bool表示,当为false的时候表示没有边,当为true的时候表示有边。2.图的邻接表表示:用c++中的vector,是一个能
Scarlett_geng
·
2015-08-10 20:00
搜索
hdu 1241 AC
广搜
点击打开链接,原地址packagecn.hncu.search; importjava.util.Scanner; publicclasssearchbfs{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); intcount=0; while(sc.hasNext()){ intm=sc.nextInt
yangxin_blog
·
2015-08-10 17:00
广搜
hdu 1241 Oil Deposits
深搜
Ac
1241hdu原链接处packagecn.hncu.start; importjava.util.Scanner; publicclassp1241{ staticintn,m; finalstaticintb[][]={//因为题目要求连起来的才算一个,所以必须要把上下左右等八个坐标表示出来 {0,-1}, {0,1}, {-1,0}, {1,0}, {-1,-1}, {-1,1}, {1,
yangxin_blog
·
2015-08-10 17:00
深搜
UVA 11573 - Ocean Currents【BFS+优先队列】
page=show_problem&problem=2620题意:给定一个海面,数字分别代表海流方向,顺着海流不用费能量,逆海流要费1点能量,每次询问给一个起点一个终点,问起点到终点耗费的最小能量思路:
广搜
u014427196
·
2015-08-09 20:00
uva
bfs
HDU1429 胜利大逃亡
这道题用的是
广搜
,状态压缩,起初不理解状态压缩是怎么回事,一个点可以被访问多次,怎么就还能找到最短路径?
efine_dxq
·
2015-08-09 19:36
解题报告
HDU1429 胜利大逃亡
这道题用的是
广搜
,状态压缩,起初不理解状态压缩是怎么回事,一个点可以被访问多次,怎么就还能找到最短路径?
efine_dxq
·
2015-08-09 19:00
压缩
搜索
ACM
HDU
bfs
“埃及分数”问题浅谈对迭代加
深搜
索的理解
迭代加
深搜
索(IDDFS)的思想迭代加
深搜
索一般用来求解状态树“非常深”,甚至深度可能趋于无穷,但是“目标状态浅”的问题。如果用普通的DFS去求解,往往效率不够高。此时我们可以对DFS进行一些改进。
u014800748
·
2015-08-09 17:00
个人总结
IDA
迭代加深搜索
HDU 2128 Tempter of the Bone II
这是一道搜索的题目,不算太难,思路和其他搜索题目一样用
广搜
,起初考虑问题时简单的把所有找过的点都标记为1,问题来了当找到钥匙时没有办法返回,于是考虑取消标记,虽然样例可以输出,但明显很占内存,因为每个点可以被重复访问
efine_dxq
·
2015-08-09 16:00
压缩
搜索
ACM
HDU
bfs
POJ 1088 滑雪 (
深搜
)
题目链接:http://poj.org/problem?id=1088题面:滑雪TimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:83760Accepted:31349DescriptionMichael喜欢滑雪这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Mic
David_Jett
·
2015-08-09 13:43
编程题——搜索
POJ 1088 滑雪 (
深搜
)
题目链接:http://poj.org/problem?id=1088题面:滑雪TimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:83760 Accepted:31349Description Michael喜欢滑雪这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载
David_Jett
·
2015-08-09 13:00
搜索
poj
hdu 5366 The mook jong 动态规划(BC 50 C题)
先是找规律找了半天,结果啥也没找出来,又开始
深搜
,结果样例能过,交上超时了,深度太大啊,没有正确估算。。。赛后看了题解,动态规划真是神算法啊,简单几行就搞定了。
sinat_22659021
·
2015-08-08 23:00
【codevs1039】01年noip TG--数的划分满分dp+愚蠢
深搜
+pas的奇怪做法
将整数n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序)。例如:n=7,k=3,下面三种划分方案被认为是相同的。115151511问有多少种不同的分法。输入:n,k(6usingnamespacestd;voidf(int,int);intn,ans,k,a[1001]={1};boolflag[1001]={true};main(){scanf("%d%d",&n,&k); f(
xym_CSDN
·
2015-08-08 17:00
3126POJ
当然了,根据前面的问题,所以这道题需要用
广搜
,因为就是四位数,所以首先我们先找出所有四位数的素数,这个很容易。然后那,然后我们就枚举每一位的变换,知道找到为止。
wang57389675
·
2015-08-08 11:00
3287POJ
给你两个数字,a,b,问你进行a加减或者乘2操作最少几步到达b这样的问题我们很容易想到
广搜
,有三个方向的
广搜
,不断更新最小步数就好。
wang57389675
·
2015-08-08 10:00
hdu-4127 Flood-it!(IDA*算法)
IDA*算法就是迭代加
深搜
索和A*算法的结合,迭代加
深搜
索非常简单,就是从小到大枚举深度上限,适合求解深度未知的或者像该题一样需要求最
weizhuwyzc000
·
2015-08-08 08:00
优化
搜索
ACM
uva
IDA算法
hdu Tempter of the Bone(DFS + 枝减)
不考虑
广搜
了,用
深搜
:因为有标记tag,及时地跳出不做无用功,用奇偶枝减提高效率。
theArcticOcean
·
2015-08-06 21:00
DFS
HDU
枝减
深搜
从n个数中找和为k的数
#includeintfind(intn,intk,inta[],intsum,intpos);inta[1002];intmain(){intn,k,sum=0;scanf("%d%d",&n,&k);for(inti=0;in)return0;if(find(n,k,a,sum+a[pos],pos+1))return1;//找到if(find(n,k,a,sum,pos+1))return1
harderting
·
2015-08-06 21:57
最短路
N≤100,000;K,M≤1000分析:对于每个点,我们可记录包含它的子图序号,然后bfs,加入
广搜
队列的是子图的序号,显然每个子图只会入队一次。用队列头子图中的所有点来搜索其他子图。
lzxzxx
·
2015-08-06 19:00
bfs
bfs(
广搜
)
学长给我们讲
广搜
的ppt太帮了,通过动态模拟进队列,访问,退出队列,让我明白了bfs的基本思想。bfs通常解决最小步数是多少的问题,只能标记,无法取消标记,不像dfs。
MBLHQ
·
2015-08-06 11:00
poj1321棋盘问题 裸
深搜
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,nk,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。n #include #include usingname
zhou_yujia
·
2015-08-06 10:00
搜索
poj
poj3126(最爱的
广搜
)
DescriptionTheministersofthecabinetwerequiteupsetbythemessagefromtheChiefofSecuritystatingthattheywouldallhavetochangethefour-digitroomnumbersontheiroffices. —Itisamatterofsecuritytochangesuchthingsev
martinue
·
2015-08-05 20:48
acm
大一
搜索
其它~~~~~~~~~~~~~
11212 - Editing a Book(IDA*算法)
又一道迭代加
深搜
索,从小到大枚举上限。 关键的剪枝部分是写出启发函数,这个比较难。。
weizhuwyzc000
·
2015-08-05 10:00
ACM
uva
IDA
12558 - Egyptian Fractions (HARD version)(IDA*算法)
IDA*算法,迭代加
深搜
索和A*算法的结合。迭代加
深搜
索适用于那些没有明显深度上限的题目,将深度从小到大枚举,直到找到最优解,减小了
深搜
的盲目性。
weizhuwyzc000
·
2015-08-04 20:00
ACM
uva
迭代加深搜索
HDU 1543:Avoid The Lakes 【
深搜
】
AvoidTheLakesTimeLimit:2000/1000ms(Java/Other) MemoryLimit:131072/65536K(Java/Other)TotalSubmission(s):146 AcceptedSubmission(s):76ProblemDescriptionFarmerJohn'sfarmwasfloodedinthemostrecentstorm,
lin14543
·
2015-08-04 19:00
递归
HDU
深搜
ZOJ Seeding 2100【简单
深搜
】
SeedingTimeLimit: 2Seconds MemoryLimit: 65536KBItisspringtimeandfarmershavetoplantseedsinthefield.Tomhasanicefield,whichisarectanglewithn*msquares.Therearebigstonesinsomeofthesquares.Tomhasaseedin
ydd97
·
2015-08-04 18:00
NYOJ58:最少步数【
深搜
】
最少步数时间限制:3000ms | 内存限制:65535KB难度:4描述这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,0,0,0,1 1
lin14543
·
2015-08-04 18:00
深搜
POJ 3620 Avoid The Lakes
深搜
DFS 附翻译 WA原因
AvoidTheLakesTimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:6826 Accepted:3637DescriptionFarmerJohn'sfarmwasfloodedinthemostrecentstorm,afactonlyaggravatedbytheinformationthathiscowsaredeathlyafr
qq_24678203
·
2015-08-04 17:00
HDU - 1429 - 胜利大逃亡(续)
胜利大逃亡(续)题目传送:HDU-1429-胜利大逃亡(续)基础
广搜
题,注意是用位运算来判断的是否有钥匙的。少写一个字母找了好久的bug。。好久的bug。。的bug。。bug。。
u014355480
·
2015-08-03 22:00
ACM
HDU
bfs
hdu1241详解 Java
广搜
搞定
importjava.util.Scanner; publicclassMain{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); while(sc.hasNext()){ intm=sc.nextInt();//输入地图的行数 intn=sc.nextInt();//输入地图的列数 if(m==0){/
u011459262
·
2015-08-03 21:00
java
广度搜索
hdu1241
hdu1518(Square)
深搜
+剪枝
点击打开杭电1518ProblemDescriptionGivenasetofsticksofvariouslengths,isitpossibletojointhemend-to-endtoformasquare? InputThefirstlineofinputcontainsN,thenumberoftestcases.Eachtestcasebeginswithaninteger40){
u011479875
·
2015-08-03 20:00
java
HDU
深搜
1518
倒油问题详解 (
深搜
、
广搜
)(面向过程和面向对象)
题目:有一位厨师要从盛12斤油(a桶)的桶中倒出6斤油来,可是手边只有盛8斤油(b桶)和盛5斤油(c桶)的两个桶,问如何操作才能将6斤取出来呢?思路:思路其实很容易理解,就是三个桶之间互相倒油,直到倒出想要的结果,也就是其中任意一个桶中出现6即可。难就难在,如果直接让三个桶互相倒的话,很容易出现死循环,也就是a倒到b,下一步的时候,有让b倒回到a,所以要防止这种情况的出现,才能找到结果。解决方法:
u011479875
·
2015-08-03 15:00
java
倒油问题
hdu1016(简单
深搜
)
这是一个简单
深搜
问题,要求相邻的数之间相加为素数。采用
深搜
,把满足条件的值放在parent[]中。
u011459262
·
2015-08-02 20:00
深搜
hdu1016
hdu5335 搜索+优化
思路:若开始为0,则
广搜
找到最远的0(离终点最近,即x+y最大)。然后开始用优先级队列搜索。另外一种就是找到最远点后模拟搜索或者说斜推找到最小的(这种方法比较科学,因为和dir数组没有关系)。
天宇skyblue
·
2015-07-31 19:49
搜索
广搜
简单题
CatchThatCow题目传送:POJ-3278-CatchThatCow题解:点击即传送迷宫问题题目传送:POJ-3984-迷宫问题DFS也可以,见另一个题解AC代码(BFS):#include #include #include #include #include #include #include #include #include #include #include #include #
u014355480
·
2015-07-31 12:00
ACM
poj
ICPC
广搜
HDU 5326 Work(求每个人的下属,直接和间接)
题目地址:点击打开链接思路:刚开始思路就错,只记录了直接的下属,没想到下属的下属也属于老大管,
深搜
就可以解决,看到大神用并查集也A了,太叼了AC代码1:#include #include usingnamespacestd
qq_25605637
·
2015-07-31 10:00
uva 193 Graph Coloring( 图染色 ) DFS+回溯
非自己出品就是容易wa啊,想了一会没想出来,就忍不住去找答案了,实在没忍住去找答案,结果还是wa了两次,,,还是自己想的比较靠谱啊,思路:如果当前点可以被染成黑色,就把它染成黑色,继续
深搜
,之后回溯,把它染成白色如果当前点只能被染成白色
sinat_22659021
·
2015-07-29 09:00
【ID搜索】uva12558Egyptian Fractions(HARD version) 埃及分数
这是一道经典的迭代加
深搜
索题。因为深度和广度都是无限的。要注意在搜索第i个数时,ai>=ai
cqbztsy
·
2015-07-27 21:00
埃及分数
uva12558
ID搜索
ZOJ 3890 Wumpus (2015年7月浙大月赛、
广搜
)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5560题面:WumpusTimeLimit:2Seconds MemoryLimit:65536KBOnedayLeonfindsaveryclassicgamecalledWumpus.Thegameisasfollow.Onceanagentfellintoa
David_Jett
·
2015-07-27 19:00
搜索
ZOJ
浙大月赛
hdu 5311 Hidden String dp o(n)算法
深搜
HiddenStringTimeLimit:2000/1000MS(Java/Others) MemoryLimit:262144/262144K(Java/Others)TotalSubmission(s):857 AcceptedSubmission(s):322ProblemDescriptionTodayisthe1stanniversaryofBestCoder.Soda,t
u010422038
·
2015-07-27 11:00
Hduoj1016【
深搜
】【水题】
PrimeRingProblemTimeLimit:4000/2000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):33730 AcceptedSubmission(s):14932ProblemDescriptionAringiscomposeofncirclesasshownindia
u014641529
·
2015-07-27 10:00
hdu 5313 Bipartite Graph 完全二分图
深搜
bitset应用
BipartiteGraphTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):577 AcceptedSubmission(s):154ProblemDescriptionSodahasabipartitegraphwithnverticesandmund
u010422038
·
2015-07-27 01:00
多校第一场 1009 hdu 5296 Annoying problem(dfs序+在线倍增lca)
我们有操作可以加入一个点,也可以去掉一个点,每次输出当前操作后点集中的点保持连通需要的边的边权之和题目分析:首先对于一棵树我们在加入一个点的时候,之前的点已经是连通的,那么我们就是找到与当前要加入的点相比集合中点当中
深搜
序比它小的最大的点和
深搜
序比它大的最小的点
qq_24451605
·
2015-07-26 12:00
C++
LCA
倍增法
dfs序
poj 2386 Lake Counting(
深搜
)
(八连通是指相邻的八个方向)解题思路:找到一个‘W’对其周围也是‘W’的进行
深搜
,
深搜
的次数即为八连通的块数#include#include#include#include#include#include
booyoungxu
·
2015-07-26 10:52
ACM
上一页
57
58
59
60
61
62
63
64
下一页
按字母分类:
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
其他