11 2020 档案
摘要:P1825 [USACO11OPEN]Corn Maze S 标记还是不标记?这是个问题. 直接看得出来是bfs,只不过遇到传送装置要特殊处理. 最初的想法是,每当遍历到一个为传送门的新格子时,而该格子本身不标记,将该格子传送到的格子标记为visited.在这个基础上就可以当作普通bfs来做了. 结
阅读全文
摘要:P1747 好奇怪的游戏 广搜. 不必在意有两只马,处理一个后重新初始化再次处理即可,剩下的就是很原始的bfs. 注意vis这个标记,在bfs中一个点第一次被遍历到时一定是最快/最短的路径,所以在vis标记之后就不需要再去这个点了.(隐性的剪枝) 如果用dfs+回溯来做的话,就必须等到所有的方案(剪
阅读全文
摘要:P1433 吃奶酪 生活就像是与TLE斗智斗勇. 第一次用卡时. 穷竭搜索,发现情况不如已有解时剪枝. 比较直白的dfs,所以直接放代码,重点是里面用到的一个技巧. #include <algorithm> #include <cstdio> #include <cstring> #include
阅读全文
摘要:P2895 [USACO08FEB]Meteor Shower S 使用标记来剪枝,多几行代码少算一年(虚指). 没想到bfs也有今天.(你也得剪枝了) 此外,还有一个预处理的方法. 最初想法就是很常规的bfs,不过有很多要判断的条件,写起来比较麻烦,但是起码能写出来.细节见注释. 需要开一个存储结
阅读全文
摘要:P1135 奇怪的电梯 就让我把搜索的题单刷完吧. 这里没有写广搜的做法. 如果用深搜,得要用到一个很有意思的剪枝. 注意这个深搜的状态转移比较独特. 第一次提交 #include <algorithm>#include <cstdio> #include <cstring> #include <i
阅读全文
摘要:P1219 [USACO1.5]八皇后 Checker Challenge 好像是紫书上面的题目,没有想象的那么难. 标记的思想. n最大才13,可以深搜,但是搜的过程中就得把不可能情况排除掉,不然搜一年(虚指). #include <algorithm> #include <cstdio> #in
阅读全文
摘要:P2036 [COCI2008-2009#2] PERKET 深度搜索 简单dfs,有所启发. 对于每种食材都有取和不取两种情况,全都枚举并返回最终结果取最小值即可,注意题目要求不能一种食材都不要(bad). 我的方法,dfs只有一个参数,但是用到了回溯. #include <algorithm>
阅读全文
摘要:P4447 [AHOI2018初中组]分组 首先想到对数据进行某种排序后顺序处理,sort(因此是升序)就可以了.(一开始看到算法标签里有个队列就开了优先队列,后来发现没必要而且让代码看起来很复杂) 最初想到的处理方式是遍历升序排序后的每个数据,对于每个数据遍历所有队伍(用二维数组存储所有队伍的所有
阅读全文
摘要:P4995 跳跳! 比较直白的贪心. 结论是每次跳跃都选择高度差最大的石头.给出粗略证明. 首先,把地面看成高度为0的石头,将所有石头按照高度升序排列为: 0, h1, h2, h3, ... , hn 则对于: 第一次跳跃,起点为0,终点为hi(1<=i<=n),最大值为(hn-0)2 第二次跳跃
阅读全文
摘要:第一篇题解,实际上是几天前做的题目 P1434 [SHOI2002]滑雪 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度会减小。在上面的例子中,一条可行的滑
阅读全文

浙公网安备 33010602011771号