![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
明日可7
SDUST_SE_17_QiuPeng
Coding my youth
展开
-
CodeForces 377A Maze(dfs)
A. Mazetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPavel loves grid mazes. A grid maze is an n × m rectangle maze where each cell is either em...原创 2018-04-01 18:33:27 · 208 阅读 · 0 评论 -
UVA 1343 The Rotation Game (IDA*)
分析:IDA*往下搜就行了,刚开始想不写估价水过去,想多了,还得写估价。我们可以发现,每旋转一次,不同的数字最多会减少1,即相同的数字最多会增加一。所以我们找到1,2,3中目前最多的那个数的数目,然后用8减去这个数,就是我们至少需要旋转的次数。代码:#include <iostream>#include <cstdio>#include <cstring...原创 2019-02-21 15:38:31 · 223 阅读 · 0 评论 -
UVA 1347 Tour (记忆化搜索dp)
题意:见紫书分析:可以看成两个人一起走,dp[i][j]表示已经走过了max(i,j)个点还剩多长距离到达最后的点,规定i走在j前面,走的时候只往下走max(i,j)+1的那个点即可,最后的状态就是一个人在第n-1个点,求出另一个人在其他点时的最后所剩距离,然后dfs代码:#include <iostream>#include <cstdio>#inclu...原创 2019-01-27 22:43:26 · 121 阅读 · 0 评论 -
UVA 437 The Tower of Babylon (记忆化搜dp)
题意:有集中长方体,将其摞在一起,上面的底面面积要严格小于下面,每种长方体可以无限次使用,问最高可以摆放多高分析:DAG最长路算法,将一个长方体当成3个长方体使用,不用建边,转移的时候判断一下大小关系即可,最后dfs代码:#include <iostream>#include <cstdio>#include <cstring>#includ...原创 2019-01-27 22:39:01 · 139 阅读 · 0 评论 -
HDU - 5991 Cliques 2016ACM/ICPC亚洲区青岛站 J (dfs)
题意:给出一个矩阵表示的无向图,可以增边和删边使得任意子图中,任意点之间都连有一条边,最多增删10次,输出最小次数分析:运用了floyd和点覆盖集的思想,对于一条已经连好的边,找到一个点和这条边的一个点有连边而和另一个点没有连边,修改这三个点的连边情况,dfs即可代码:#include <bits/stdc++.h>#define mem(a,b) memset(a,b...原创 2018-10-05 19:55:12 · 352 阅读 · 1 评论 -
Gym - 101615G Security Badge(离散化+dfs)
题意:给出n个点,m条边的有向图,有条边都有一个区间限制,现在有k个人(编号 1 - k)需要从起点走到终点,每条边只有当这个人的编号在其范围内才能通过,求有多少人能走到终点。分析:刚开始的做法是从起点到终点跑bfs,求每条边的区间交集,奈何k是1e9,MLE没得解释,猝~之后在hzy学长的帮助下对这个题又有了新的理解,我们先把每个区间的端点存下来,然后给端点排序,然后对每一个端点跑dfs...原创 2018-09-06 21:02:37 · 307 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 E AC Challenge (状压dp or 爆搜)
题目链接:https://nanti.jisuanke.com/t/30994分析:场上ltx用dfs爆过去了,学习之后发现和状压dp的思想一致dfs:类似topo_sort的思想,选择度为0的点进行dfs,不断更新最大值,这里和状压dp类似的地方就是使用了一个state变量。状压dp:对每一种状态进行二进制枚举,枚举到一种状态时,判断这个状态里的顺序是否符合题意,符合的话更新dp数组...原创 2018-09-03 13:09:51 · 181 阅读 · 0 评论 -
ACM-ICPC 2018 徐州赛区网络预赛 B BE, GE or NE
题目链接:https://nanti.jisuanke.com/t/31454分析: dfs + 记忆化搜索 , 0 表示 Bad , 1 表示 Normal , 2 表示Good代码:#include <map>#include <set>#include <list>#include <cmath>#include <...原创 2018-09-11 15:14:21 · 178 阅读 · 0 评论 -
HDU 1010 Tempter of the Bone (DFS+剪枝)
题意:给出一张图,判断在给定的时间(正好,不是时间内)走到另一个点分析:dfs,两个点之间最小的距离为麦哈顿距离(详见百度百科)我们可以发现,我们的步数不是等于最短距离就是比最短距离多一个偶数,所以可以利用这点进行剪枝代码:#include <map>#include <set>#include <cmath>#include <que...原创 2018-08-07 14:59:15 · 536 阅读 · 0 评论 -
HDU 2102 A计划 (BFS)
中文题面,题意略坑点:两个传送门之间不能传,WA到天荒地老~~~~代码:#include <map>#include <set>#include <cmath>#include <queue>#include <deque>#include <stack>#include <cstdio>原创 2018-08-07 14:01:38 · 309 阅读 · 0 评论 -
OpenJ_Bailian 3151 Pots (BFS)
题意:有两个固定大小的容器,通过对容器内水的操作,使得至少一个容器内的液体量达到规定的量,求出操作数最少的操作步骤我写的比较繁琐,将各种操作封装在了结构体里,然后BFS代码:#include <map>#include <set>#include <cmath>#include <queue>#include <deque...原创 2018-08-07 13:59:35 · 380 阅读 · 0 评论 -
UVA 11624 Fire! (BFS)
题意:一个迷宫起火了,判断joe能否从迷宫中跑出来分析:用两次bfs,一次求火蔓延到点的时间,一次joe逃跑坑点:好几个地方起火,WA到怀疑人生!!!!!#include <map>#include <set>#include <cmath>#include <queue>#include <deque>#incl...原创 2018-08-06 19:06:18 · 312 阅读 · 0 评论 -
UVA 225 Golygons (暴力+回溯+dfs)
题意:一个人从(0,0)开始,每次走的长度是1,2,3...,每次走完一段,就必须向左或向右转,停留的点不能重复,并且不能经过障碍物;现在给出最后一步走多远,以及障碍物的位置,求最后又走回(0,0)点的方法有几种,输出每种走法,还有走法总数;代码:#include <map>#include <set>#include <cmath>#include &l...原创 2018-05-20 16:42:44 · 200 阅读 · 0 评论 -
UVA 208 Firetruck (DFS+剪枝)
题意:构造出一张图,给出一个点,字典序输出所有从1到该点的路径思路:这道题裸搜的话会超时,所以要进行必要的剪枝,刚开始我时用一个dfs从目标点开始搜,dfs能到达的点说明通过这个带你可以到达目标点,这样会超时,所以需要换另一种方法,这里我用的是flody,也可以用并查集。代码:#include <map>#include <set>#include <cmath&...原创 2018-05-08 23:07:31 · 148 阅读 · 0 评论 -
HDU 4308 Saving Princess claire_(bfs)
Saving Princess claire_Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2933 Accepted Submission(s): 1068Problem DescriptionPrincess claire_ w...原创 2018-04-30 20:29:14 · 183 阅读 · 0 评论 -
迭代加深搜索 紫书7-6
迭代加深搜索: 迭代+DFS(循环+DFS)以埃及分数问题为例: 埃及分数:分子是1的分数,叫单位分数。古代埃及人在进行分数运算时。只使用分子是1的分数。因此这种分数也叫做埃及分数,或者叫单分子分数。紫书例题:题目描述 Description在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数。 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数...原创 2018-03-27 22:32:57 · 390 阅读 · 0 评论 -
UVA 1374 Power Calculus(迭代深搜)
UVA-1374题目地址:点击打开链接代码:#include <bits/stdc++.h>using namespace std;int a[50],cnt,n;//用数组保存已经得出的数bool dfs(int cur,int now){ if(cur>cnt||now<=0||now<<(cnt-cur)<n) return false...原创 2018-03-28 13:20:36 · 319 阅读 · 0 评论 -
UVA 1601 The Morning after Halloween (BFS/双向BFS)
单向BFS 1150ms#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <map>#include <vector>#include &原创 2019-02-18 15:28:36 · 189 阅读 · 0 评论