摘要: 思路还是很清晰的,就是三维空间中运用BFS的方法,中间不幸WA过两次,问题出在这里:因为想要将dungeon的周边铺满'#',这样做的好处就是判断移动的下一步是不是还在dungeon内,可以不用一组较为耗时的不等式,不过隐患在于三维空间中,一定要记住不重不漏的填补'#',此外,填充的顺序也至关重要, 阅读全文
posted @ 2021-04-21 22:51 IdiotNe 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 一道联系参考价值不是很大的题 BFS,DFS搜索都是OK的,但是不要想着利用vis数组在进行什么优化了,因为这个Runtime Error了好几次,再去看discuss里的千奇百怪过样例(比如把输入原原本本回到输出就A了,可能和特判设置有关) 其实最建议的办法就是打表。 #include <iost 阅读全文
posted @ 2021-04-21 21:37 IdiotNe 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 福利题,此前做过类似的DP,思路很简单,定义状态$dv(i, j)\(为以\)(i, j)$为起点的最长长度 #include <iostream> #include <algorithm> #include <queue> #include <string> #include <vector> # 阅读全文
posted @ 2021-04-21 20:31 IdiotNe 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 期间用了DP(可能更有些贪心的思想的算法),但是一个细节错误一直没有考虑 总体思路是这样的,按照每个区间的上界排序,然后从头到尾,定义$dv(i)$为前i个最少需要的并行数量 每次状态转移,从后向前搜索,每当发现当前区间$i$的下界比之前的区间的上界$seg[j].e$要小,说明二者必定重叠,直到遇 阅读全文
posted @ 2021-04-21 20:02 IdiotNe 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 小心分析,大胆行动,再思即可。 DP问题,开始尝试dp(i, j)设置为状态:必须以dp(i, j)为右下角的最大subarray,后来发现这样的状态转移基本无解,再放开一些,多加一个维度,考虑以(i, j)为右下角,且i所在维度长度看作新的维度,这样问题就解决了 #include <iostrea 阅读全文
posted @ 2021-04-21 16:58 IdiotNe 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 做题时候陷入一个误区,就是担心出错不敢想,不敢写,这道题入手思路是对的,但是畏首畏尾,自己规定时间写不出来,大略览了他人题解发现自己思路是对的才敢开始着手写,学会分析和对自己有自信是练习的一个很重要的指标兼目标 题目就是利用DP搜索,不过这道题没给出贷款,费用值的范围是一个很不应该的地方,因为这涉及 阅读全文
posted @ 2021-04-21 15:25 IdiotNe 阅读(38) 评论(0) 推荐(0) 编辑