搜索
ordinarv
努力才是人生的常态
展开
-
UVA11624 Fire! (BFS)
思路:两遍BFS即可,先跑Fire,再跑J。貌似写过stp数组没有考虑初始INF!#include<bits/stdc++.h>using namespace std;typedef pair<int,int> piir;typedef long long ll;const int maxn = 1e3+5;const int INF = 0x3f3f...原创 2019-10-31 12:59:55 · 130 阅读 · 0 评论 -
GPLT L3-004. 肿瘤诊断(三维bfs求连通块)
题意找三维图中的连通块的面积,即1的个数 连通块有个要求如果小于给定的范围就不计!思路开始时用dfs做,栈溢出了。。。数据大了!换成bfs寻找连通即可!存图是zxy,而计算按照xyz了!!!#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = ...原创 2019-02-22 18:09:38 · 209 阅读 · 0 评论 -
Codeforces Beta Round #77 (Div. 2 Only)B. Lucky Numbers (easy)
题意寻找一个最小的 大于n的super lucky数字,super lucky数字时只含4和7。 思路最初想着拼凑,找规律,没办法只有DFS了,INF设的太小wa,ans会超intans的临时变量tem忘开long long又waAC Code#include<bits/stdc++.h>using namespace std;typedef long...原创 2018-12-26 21:17:41 · 146 阅读 · 0 评论 -
HDU - 1495 非常可乐(BFS枚举 or 数论)
题目大意三个cup,容量分别为s,n,m(s=n+m),cup没有刻度(这个真的坑,就是要么倒完要么倒满)。初始状况,s满,n、m空,求能否通过相互之间倒可乐,把可乐平分。能的话,输出最小次数。分析每次倒都有6种情况s-n,s-m.....。可以BFS分别枚举每种倒法。很明显s为奇数,NO。vis也能起到终止作用吧,每种情况都走过被标记了。队列为空,则返回-1,表示不能平分。...原创 2018-08-29 11:30:58 · 250 阅读 · 0 评论 -
POJ3126-Prime Path(BFS)
题目大意给两个素数a、b,要求每次只能改变一个数字并且最高位不能为0,而且每次变换后的数字也要为素数,求最少改几次能由a得到b。分析显然,打素数表,BFS即可。具体为,4位数字,每次改变一位从0-9替换,判断是否满足,入队,直到==b注意,不要忘记a==b时,替换后,要在复原回去。AC Code#include<iostream>#include<...原创 2018-08-29 11:10:22 · 109 阅读 · 0 评论 -
POJ 2251-Dungeon Master (三维BFS)
分析三维BFS即可,只能上下东西南北6个方向走。注意不只是‘.’可以走‘E’也可以,就是保证不越界的情况下除了‘#’都可以走vis忘memset wa了一发。AC Code#include<iostream>#include<cstdio>#include<queue>typedef long long ll;const int I...原创 2018-08-29 10:01:59 · 128 阅读 · 0 评论 -
POJ-1426-Find The Multiple
一、DFS可以去判断这个数模n的余数,如果为0,则返回,如果不为0,则有两种情况,往这个数后面加0或者加1.然后只需要判断它的长度与题目规定的100之间的关系即可#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace ...原创 2018-08-28 21:19:06 · 130 阅读 · 0 评论 -
浅谈搜索剪枝
what's 剪枝?常用的搜索有Dfs和Bfs。Bfs的剪枝通常就是判重,因为一般Bfs寻找的是步数最少,重复的话必定不会在之前的情况前产生最优解。深搜,它的进程近似一颗树(通常叫Dfs树)。而剪枝就是一种生动的比喻:把不会产生答案的,或不必要的枝条“剪掉”。剪枝的关键就在于剪枝的判断:什么枝该剪,什么枝不该剪,在什么地方减。剪枝的原则?正确性,准确性,高效性。常用...转载 2018-08-21 09:59:16 · 491 阅读 · 0 评论 -
HDU-1241Oil Deposit (求连通块数量)
题目大意RT题目坑点在于用scanf+两层for不好读取mp,回车太多。1、双,但只要求m==02、貌似n m中间的空格回影响,貌似是scanf吃回车、cin吃空格吗思路按照惯例遍历mp,遇到@用dfs将能通过该@走到的’@‘变为*即可AC Code#include<iostream>#include<algorithm>#incl...原创 2018-08-27 22:13:10 · 212 阅读 · 0 评论 -
POJ 3984迷宫问题(输出路径)
题目大意给你一个5*5的迷宫,0代表通路,1代表墙,找到从迷宫左上角到达右下角的最短路径,并输出路径。思路与其他直接输出最短路径的长度不同的是,这道题要求输出最短路径。要输出这个路径,所以就要考虑状态了,每一个状态都应该存储到达这个状态的路径。对于我来说第一次做这种题难点在于如何存储路径,有两种类似的方法,一种是记录每次通过dx、dy数组移动的i值,二是直接把x、y放入队列中,最后...原创 2018-08-27 22:07:56 · 305 阅读 · 0 评论 -
DFS入门水题
部分和 https://blog.csdn.net/stack_queue/article/details/53385952https://blog.csdn.net/qq_40763929/article/details/81629800五道:http://codeup.cn/contest.php?cid=100000608https://blog.csdn.net/qq_3982...原创 2018-08-30 18:18:39 · 752 阅读 · 0 评论 -
搜索
https://blog.csdn.net/ljt735029684/article/details/78945098 迭代加深:https://blog.csdn.net/WilliamSun0122/article/details/72329464题目https://blog.csdn.net/qq_38173003/article/details/79105579...原创 2018-08-20 11:38:48 · 130 阅读 · 0 评论 -
迷宫
最简单的原创 2018-04-22 21:11:19 · 116 阅读 · 0 评论