![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
计蒜客 蓝桥模拟赛 连连看 (dfs)
传送门答案:89思路: 这个直接暴搜就好了,图这么小》#include <bits/stdc++.h>using namespace std;int a[6][6] = { {0,0,0,0,0,0}, {0,1,4,2,5,0}, {0,2,1,2,1,0}, {0,3,1,3,2,0}, {0,2,5,3,4,0}, {0,0,0,0,0,0}};int...原创 2018-03-30 21:20:13 · 375 阅读 · 0 评论 -
nyoj 325 dfs 搜索平分问题
点击打开链接思路:这个题我一开始还是用了一个01背包 因为我觉得挺像的,结果有地方没处理好 TLE了就改用了dfs,也很水其实0.0 我还调了老半天... 每个物品就只有在哪个集合两种状态对于这个题我们就看成每个人都分总和的一半,去找最大值...剪枝与否都不会超时:1.当前的最大值等于一半 剪枝2.取下一个物品 不导致最大值改变 剪枝. #includeu原创 2017-03-13 21:59:41 · 490 阅读 · 0 评论 -
nyoj 21 三个水杯 bfs
点击打开链接思路: 写这个题就是记录一下这个题的思想,说实话我真的没有一点感觉到它是个bfs....还是昊神说是个bfs,交流了一下,一想也确实是个bfs,因为要求步数而且bfs还可以记录出它每一步的状态,还是最少的次数....#include #include #include #include using namespace std;int v[3],e[3];int bo原创 2017-03-13 21:55:31 · 607 阅读 · 0 评论 -
nyoj 1087 数学规律
点击打开链接思路:飞巨给我讲的,说是模拟填数,要想最大以贪心的思想就是把n*n的放在对角线上,然后到下一个对角线最近要走两步,然后继续填,然后去发现规律,(剩下最后一个对角线上的点就不填了,因为要保证按顺序)PS:我也求了一个验证代码去跑了一下#includeusing namespace std;const int maxn=1e6+10;typedef long lo原创 2017-03-12 12:45:04 · 531 阅读 · 0 评论 -
CodeForces - 366D Dima and Trap Graph
题目链接题意:有n个点m条无向边。初始你需要选择一个整数x,走第i条边的限制为Li 思路: 这个题好多做法....首先我们可以先明确判断能否从1到达n 可以用并查集或者dfs 那么对于并查集,我们可以想一下,我们已知区间的左端点,通过维护区间的右端点,就可以找到一个区间,那么我们就以所有路径的为起点,以其左端点为基础去维护右端点找到最大值..这个过程中用并查集来判断1-n是原创 2017-03-09 23:40:35 · 340 阅读 · 0 评论 -
hihocoder #1273 清理海报 建图思想+dfs+状态压缩记录 好题!
描述小Hi实验室所在的建筑一楼有一个用于贴海报的黑板,不停的有新的海报往上贴,也会安排人员不断的对海报进行清理,而最近,轮到了小Hi去对海报进行清理。黑板是一块W*H大小的区域,如果以左下角为直角坐标系的话,在上次清理后第i张贴上去的海报可以视作左下角为(X1i, Y1i),右上角为(X2i, Y2i)的一个矩形。撕去一张海报会导致所有覆盖在其上的海报都被同时撕掉(这样被称为连带,原创 2017-03-06 12:26:40 · 684 阅读 · 0 评论 -
nyoj 82 bfs 好题
题目链接思路:这个题关键在于对门的处理,一开始我的思想和标准答案的思想差不多,也是保存钥匙,然后遇到一个门 如果当前钥匙全部被找到的话就可以把这个门打开,就可以bfs这个门后面的,如果当前钥匙不够的话 如果队列为空就直接找不到,队列不为空就继续将门入队,但是不进行标记,也就是可以一直无限找到.我写完了一发是过了,可是飞巨给我一个样例我发现我写的是不对的 但是nyoj 还是给我过了,那就原创 2017-03-18 22:30:40 · 342 阅读 · 0 评论 -
算法训练 和为T dfs
题目链接先吐槽一句,蓝桥杯的测试数据真的是非常水的数据。。。。思路: 这个题因为有这个要求:若有多组解,优先输出不包含第n个整数的;若都包含或都不包含,优先输出不包含第n-1个整数的,依次类推。最后一行输出总方案数。 所以对于这个题 虽然是一个dfs,但是我们找数的时候就要从后往前找,对于每一个数我们都有两种选择,取与不取,所以我们就从后往前dfs时先让最后一个数不取,然后再取原创 2017-03-18 22:16:32 · 887 阅读 · 0 评论 -
CodeForces - 586D A - Phillip and Trains bfs
The mobile application store has a new game called "Subway Roller".The protagonist of the game Philip is located in one end of the tunnel and wants to get out of the other one. The tunnel is a recta原创 2017-02-26 19:49:36 · 509 阅读 · 0 评论 -
基础练习 2n皇后问题 dfs
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置原创 2017-02-23 15:54:18 · 1343 阅读 · 1 评论 -
Gym 101246E Kidnapping 递推or dfs 优化
题目链接题意:抓劫匪的题,最后总结为有n条路,a[x][y]表示第x条路与第y条路之间的距离,由于绑匪将人绑着,所以人只能计算出走的路程给出计算的路程问最后到达的劫匪窝点可能是那条街(每次都是从第一条路开始)思路:这个题的话可以有两种写法,一个是递推,即从这一步可以走的点开始,按照距离去寻找可以走到的下一个点并标记,在赋值回来依次递推,直到最后所有被标记的点就是可能的点.#原创 2017-04-23 20:49:27 · 389 阅读 · 0 评论 -
hdu 1429 胜利大逃亡(续) 二进制bfs
题目链接题意:这个题就是一个简单搜索,但是需要找到钥匙才能开门,比较巧妙的方法就是利用二进制了,一把钥匙和一个门对应一个二进制了,如果找到了钥匙就把这位二进制变为1,当遇到门的时候只需要判断这一位是否为1就知道是否有钥匙打开门了,如果没有就将们重新放回队当中,直到找到钥匙。 当然这个题也可以不用二进制用数组记录是否找到钥匙可以的,只是觉得这种方法和思维比较好就记录一下。原创 2017-05-25 14:54:20 · 439 阅读 · 0 评论 -
nyoj 92 图像有用区域 bfs
题目链接思路:bfs,遍历整个图遇到0就跳过,否则就将数归为0,这样就使得0包围的区域内还是不变的.但是这个题注意的是边界问题,可能0在最外围会影响遍历整个图,解决办法就是在最外围加一圈非0的,这样就可以保证遍历整个图了.PS:我一开始就是以为记录每一行是否有0,如果没有直接全为0,如果有我就直接从前一边遍历一边清0直到遇到第一个0停止,从后往前也是,这样我觉得也可以清除外围的0,原创 2017-05-09 12:12:14 · 579 阅读 · 0 评论 -
计蒜客 藏宝图 (bfs + 状压)
传送门思路:典型的bfs + 状压啊,一个入口出口,还要拿到地图中多个东西,而且同一个点重复走的话不好标记,这时候就标记状态啊/。。md,退役垃圾狗。。。答案 :48 PS: 这里走回出口没必要在跑一遍bfs,只需要走到出口时判断一下是否所有箱子都拿到了即可。#include <bits/stdc++.h>using namespace std;int a[15][1...原创 2018-03-30 21:18:23 · 704 阅读 · 1 评论 -
PAT 1018. Public Bike Management (30) (最短路+DFS)
传送门题意: 从0号点到给定的有问题的点en,要保证每个点自行车数量为Cmax的一半,一个点的自行车数量可以被这条路径上前几个点多的自行车来补. 问你从0到问题点en的最短路径,如果最短路径相同,输出需要从0点携带的自行车数量最小的路径,如果还相同输出该路径上需要带回去最少的路径。(需要将路径上经过的所有点的自行车数量都变为完美的)思路: 如果单纯的路径最短,或者带出来的自行车数量最小...原创 2018-03-16 22:17:28 · 255 阅读 · 0 评论 -
历届试题 青蛙跳杯子
传送门思路:观察到数据范围为15,而且青蛙又有三种动作,进而想到这是一个bfs.由于 ‘*’空杯子是唯一的,所以我们每次就从‘*’来考虑青蛙的动作是否可行(即从空杯子来跳到青蛙那里),那么最多只有六种情况。队列中最多有2^15 * 6 个串,复杂度是可以满足的.注意所有字符串只进队一次,所以需要对字符串去重,这个过程用set 或map 记录一下即可。#include<bits/stdc++....原创 2018-03-10 16:35:45 · 666 阅读 · 0 评论 -
Codeforces Round #430 (Div. 2) Ilya And The Tree 树上因子 思维 + dfs
题目链接题意:有一个树,树上的每个点都有一个权值,对于一个点的魅力值来说,是他到根点1的路径上的所有点权值的最大公约数,对于每个路径上的点,你可以选择唯一点将他变为0或者不做改变,现在希望你让每个点都获得尽可能大的魅力值,输出每个点的魅力值思路:这个题目大概是需要在树上做个dp吧,但是我们知道所有的dp都可以由搜索的状态转移而来,所以我们可以先考原创 2017-08-30 23:37:55 · 304 阅读 · 0 评论 -
vijos 国土继承 思维+dfs
题意:一个国王有两个儿子,两个儿子已经长大了,国王想拿N座城市分给这两个儿子,使其二人锻炼统帅王国的能力。为了公平起见,要给这两个儿子的尽量平均的资源。问你每个大儿子和小儿子分别能获得的资源数量。注:这N座城市是联通的,分给每个人的城市也是联通的。且任意两个城市间有且仅有一条路。不能平分则照顾小儿子思路:这题还很水的,不过是我原创 2017-09-11 13:39:59 · 398 阅读 · 0 评论 -
POJ 1011 sticks DFS+剪枝
G - SticksTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionGeorge took sticks of the same length and cut them randomly until all原创 2016-10-26 20:28:35 · 724 阅读 · 0 评论 -
POJ 2688 Cleaning Robot TSP 问题;
C - CTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 2688DescriptionHere, we want to solve path planning for a mobile robot原创 2016-10-28 16:45:22 · 1109 阅读 · 0 评论 -
微软大楼设计方案 bfs和线段树
题目链接思路:我一直有个问题不明白,我中等的用线段树水过了为什么我把中等的交到简单就wa了?对于简单的我们就可以把整个大楼想象成一个图,有楼的地方全部设置为1表示可走,没有的设置为0表示不可走,对于这个50*50的图枚举两个点跑bfs求最短距离即可.#includetypedef long long ll;using namespace std;const int maxn原创 2017-06-04 23:23:31 · 503 阅读 · 0 评论 -
CodeForces - 616C The Labyrinth dfs连通块标记优化
题目链接思路:这个题以前做过,就是方法忘了...这回又没做出来 orz... 这个题暴力对每个*都跑dfs肯定超时,我们这里来一步优化,就是对于每个‘.’构成的连通块,我们给他编号,这样就大大减少了搜索次数,而且当对于*去查找的时候只需要找到他上下左右四个方向的'.'所对应的号里有几个‘.’就可以了。#include#define Ri(a) scanf("%d",原创 2017-05-18 12:54:17 · 322 阅读 · 0 评论 -
hdu 2553 N皇后问题 经典dfs
A - N皇后问题Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescription在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你原创 2016-10-23 15:07:00 · 776 阅读 · 0 评论 -
hdu 1253 胜利大逃亡 BFS
F - 胜利大逃亡Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit Status Practice HDU 1253DescriptionIgnatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住原创 2016-10-22 22:44:28 · 472 阅读 · 0 评论 -
POJ 3984 迷宫问题 广搜记录路径
G - 迷宫问题Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit StatusDescription定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0原创 2016-10-15 22:55:28 · 748 阅读 · 0 评论 -
hdu 2612Find a way 两次bfs+存表
Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.Yifenfei’s home is at the co原创 2017-02-05 20:13:45 · 459 阅读 · 0 评论 -
POJ 1426 Find The Multiple dfs or 暴力
Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there原创 2017-02-05 19:56:21 · 430 阅读 · 0 评论 -
POJ 3600 Subimage Recognition dfs
F - Subimage RecognitionTime Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 3600DescriptionAn image A is said to be a subima原创 2016-12-02 20:34:20 · 467 阅读 · 0 评论 -
nyoj 42 一笔画问题 dfs或并查集判断连通
一笔画问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。规定,所有的边都只能画一次,不能重复画。 输入第一行只有一个正整数N(N每组测试数据的第一行有两个正整数P,Q(P随后的Q行,每行有原创 2016-11-02 20:52:51 · 748 阅读 · 0 评论 -
hdu 4198 优先队列
E - ETime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit Status Practice HDU 4198DescriptionCaptain Clearbeard decided to go to the harbour for a原创 2016-10-28 18:47:35 · 605 阅读 · 0 评论 -
POJ 1014 dividing
B - BTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 1014DescriptionMarsha and Bill own a collection of marbles. They want原创 2016-10-28 16:28:38 · 392 阅读 · 0 评论 -
POJ 2531 dfs
D - DTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 2531DescriptionA university network is composed of N computers. System原创 2016-10-28 17:08:20 · 493 阅读 · 0 评论 -
hdu 1226 超级密码 bfs
C - 超级密码Time Limit:10000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionIgnatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示原创 2016-10-26 21:00:40 · 560 阅读 · 0 评论 -
hdu 2209 翻纸牌游戏 模拟||bfs
C - 翻纸牌游戏Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit Status Practice HDU 2209Description有一种纸牌游戏,很有意思,给你N张纸牌,一字排开,纸牌有正反两面,开始的纸牌可能是一种乱的状态(有原创 2016-11-03 16:27:37 · 2237 阅读 · 0 评论 -
PAT A 1122. Hamiltonian Cycle (25) 哈密顿回路+dfs
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a graph. Such a cycle is called a "Hamiltonian cycle".In this problem, you are supposed to tell if a given cycl原创 2017-02-28 16:02:39 · 935 阅读 · 0 评论 -
hihocoder 1268 九宫 dfs
时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀:“二四为肩,六八为足,左三右七,戴九履一,五居其中原创 2017-02-01 20:29:21 · 816 阅读 · 0 评论 -
POJ 3279 二进制搜索
DescriptionFarmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He has arranged a brainy activity for cows in which they manipulate an M × N grid (1 ≤ M原创 2016-10-29 21:04:34 · 1209 阅读 · 0 评论 -
PAT A 1090 Highest Price in Supply Chain 深搜
1090. Highest Price in Supply Chain (25)时间限制200 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA supply chain is a network原创 2016-10-16 14:41:53 · 506 阅读 · 0 评论 -
hdu 1016 素数环 经典dfs
B - Prime Ring ProblemTime Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionA ring is compose of n circles as shown in diagram. Put原创 2016-10-16 14:59:39 · 493 阅读 · 0 评论 -
nyoj 20 吝啬的国度 dfs+建立树
吝啬的国度时间限制:1000 ms | 内存限制:65535 KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1每组测试数据原创 2016-10-17 21:28:01 · 548 阅读 · 0 评论