![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
author:vehicel
description :DFS
chstor
努力学好英语的菜狗
展开
-
P5020 货币系统
题目链接:P5020 货币系统题目大意:找出一组数中,有多少个数,不能被其他数表示DFS:先对数组进行从小到大排序(被表示的那个数一定是比它小的那些数相加而成)从最小的数开始选取,标记它和其他数能组合的所有数剪枝:①标记过的数不再标记,②大于最大值的数#include<iostream>#include<cstring>#include<algorithm>using namespace std;#define mm(a,x) memse原创 2020-11-08 20:09:32 · 108 阅读 · 0 评论 -
P1535 [USACO08MAR]Cow Travelling S
题目链接:P1535 [USACO08MAR]Cow Travelling S题目分析:奶牛总是在移动,所以时间不停止,它也不停止,那么当刚好T秒的时候,它在终点的路径就是一条方案奶牛移动的路径可以自交(在当前移动的路径里,可以重复移动)求所有方案数,可以减少搜索量,进行对已经搜索过的状态记录,用记忆化搜索可行性剪枝:因为两点是确定的,忽略障碍物,可以得到它们两点最短路径为abs(x1-x2) + abs(y1-y2),剪枝:当前时间+最短路径所需时间 > 时间T超过t秒的进原创 2020-11-05 20:24:05 · 236 阅读 · 0 评论 -
(2020ICPC·小米 网络选拔赛第一场) Walking Machine
题目链接:Walking Machine题目大意:找出能出这个矩阵范围的点W表示:向上走,S表示向下走,A表示向左走,D表示向右走记忆化搜索:#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N = 1010;const int mod = 1000007;#define inf 0x3f3f3f3f#define m原创 2020-11-04 19:51:05 · 92 阅读 · 0 评论 -
poj_3279 Fliptile
题目链接:poj_3279 Fliptile题目大意:01矩阵,改变其中一个,周围上下左右都改变(0->1 ,1->0),目的是让这个矩阵全都变为0求解改变次数最小的那个,如果最小次数有多种情况,输出字典序列最小的情况解题思路:从第一行开始枚举,直到最后一行如果最后一行不全为0,那么就无解代码如下:状态压缩 + DFS#include<iostream>#include<cstring>#include<queue>usin原创 2020-11-02 19:11:59 · 117 阅读 · 1 评论 -
棋盘问题
题目:棋盘问题题目分析:'#'表示棋盘区域, ‘.’ 表示空白区域#可以放棋子数据偏小,直接DFS代码如下:按行枚举(时间复杂度为O(n!))#include<iostream>#include<cstring>using namespace std;#define inf 0x3f3f3f3f#define mm(a,x) memset(a,x,sizeof a)const int N = 10;int n,k;char g[N][N];原创 2020-11-01 20:47:14 · 549 阅读 · 0 评论 -
P2392 kkksc03考前临时抱佛脚
题目标题:P2392 kkksc03考前临时抱佛脚输入样例:1 2 1 3 54 362 4 3输出样例:20题目分析:左右脑同时做两个不同题目,仅限于一科枚举一科中, 左脑做题所用的时间与右脑做题所用时间(取最长时间保证题目做完)中所有方案的最短时间然后,分别计算每科所用的最短时间,累加得到最终答案数据范围偏小,可以用DFS代码如下:#include<iostream>#include<cstring>using namespa原创 2020-11-01 18:29:07 · 264 阅读 · 0 评论