随笔分类 -  DFS

摘要:【分析】 暴力搜顺子,贪心出散牌 为什么顺子要暴力? 玩过斗地主的都知道,并不是出越长的顺子越好,如果你有一组手牌, ,你一下把最长的出了去,你会单两张牌,不如出两个顺子,所以顺子要暴力。 贪心打散牌 这是核心所在,也是不超时的原因。 可以先统计一下不同牌个数的组数,然后再出牌, 那如何打出最优解? 阅读全文
posted @ 2019-07-06 20:40 hulean 阅读(295) 评论(0) 推荐(0)
摘要:【思路】 题目给出一棵树。第$i$步拆的一定是第$i$层与第$i+1$层之间的连边,否则不是最优(自行证明即可),所以可以暴力枚举每一次拆哪一个节点与上一个节点的连边。 把所有节点所在的层数存下来,一号点在第$1$层,枚举每一层的每个节点(由于$1$号节点已经被感染,从第二层开始搜索就可以了) 大概 阅读全文
posted @ 2019-07-06 20:39 hulean 阅读(626) 评论(0) 推荐(0)
摘要:二分+DFS 看到这么多大佬写了并查集,BFS的,还没有人写DFS版的,那么肯定是要来水水积分的啦~~毕竟这可是道伪紫题呢~~! 做法楼上楼下也讲得很清楚了吧,详见代码的注释 cpp include using namespace std; bool taofen_boys[510][510];// 阅读全文
posted @ 2019-05-21 21:48 hulean 阅读(299) 评论(0) 推荐(0)
摘要:思路:DFS+剪枝 本题可以用一个字符二维数组来存整个地图,然后在往四个方向进行搜索。 注意:当走到家门前要先判断血量! ~~(本人就被坑了)~~ 代码: cpp include using namespace std; const int N=110; int n,m; int Begin_x,B 阅读全文
posted @ 2019-05-01 10:16 hulean 阅读(648) 评论(0) 推荐(0)
摘要:"题目传送门" 这题就是一个有技巧的DFS+一大堆乱七八糟的剪枝 进行DFS时注意一下以下点 根据题意,我们可以把DFS分成两块,即 与``n m/2 n m``,第一块边找边记录,第二块就开始计算 其实左上角与右上角开始没有任何区别 剪枝 1. 可行性剪枝:判断上下与左右走过没有 2. 最优性剪枝 阅读全文
posted @ 2018-12-18 15:25 hulean 阅读(311) 评论(0) 推荐(0)