![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
dfs bfs
桃花仙人~
这个作者很懒,什么都没留下…
展开
-
搜索--记录路径
模板记录路径用一个pair类型的数组 pre记录 x y 的前驱 当遍历的时候 pre[x][y]的值 继续做pre的下标#include <cstring>#include <iostream>#include <algorithm>#define x first#define y secondusing namespace std;typedef pair<int, int> PII;const int N = 1010,.原创 2020-11-18 20:04:02 · 142 阅读 · 0 评论 -
给定时间的搜索+强力剪枝
E - Tempter of the Bone题目大意:N 行 M 列 T 时间,看这个doggie是否能在第T秒刚好到达门。S是doggie的起始位置,D是门的位置。一个带回溯的DFS很好写但是需要剪枝第一个剪枝int temp= T-t-abs(ex-x)-abs(ey-y); 判断能否到达终点,很常见的剪枝 if(temp&1)return false 如果temp>0说明可以到达,此时temp代表还有多少时间可以浪费(简单来说用这些时间去绕弯) 但是tem...原创 2020-10-21 21:46:54 · 62 阅读 · 0 评论 -
导弹防御系统
弹防御系统为了对抗附近恶意国家的威胁,R国更新了他们的导弹防御系统。一套防御系统的导弹拦截高度要么一直严格单调上升要么一直严格单调下降。例如,一套系统先后拦截了高度为3和高度为4的两发导弹,那么接下来该系统就只能拦截高度大于4的导弹。给定即将袭来的一系列导弹的高度,请你求出至少需要多少套防御系统,就可以将它们全部击落。输入格式输入包含多组测试用例。对于每个测试用例,第一行包含整数n,表示来袭导弹数量。第二行包含n个不同的整数,表示每个导弹的高度。当输入测试用例n=...原创 2020-10-08 16:17:44 · 241 阅读 · 0 评论 -
倒阔乐--模拟+bfs
题目题目#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>using namespace std;int s[3] , vis[105][105][105];struct cup{ int c[3] , step;} now;int bfs(){ queue<cup> q ;原创 2020-11-30 16:02:15 · 66 阅读 · 0 评论