上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 很简单的题,不过题面信息冗余,要快速抽取信息 快速复习了一边Floyd算法 #include <iostream> #include <algorithm> #include <queue> #include <string> #include <vector> #include <cstdio> 阅读全文
posted @ 2021-04-23 16:18 IdiotNe 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 这道棋盘题还是挺经典的,问题在于被一个新奇点子卡住好久。 本质上,这道题是一个棋盘中的哈密顿链路问题,这道题一个很经典的优化思路(很多人尝试,都A了),整个棋盘是否存在哈密顿链路,取决于A1是否存在(因为这道题要求的字典序,所以从这里开始找到一定是最优解),但是问题在于,如何将整个图的哈密顿链路存在 阅读全文
posted @ 2021-04-23 15:17 IdiotNe 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 一道非常有意思的题 小时候看书看到过这种迷宫走法 整道题可以分为两个部分讨论: BFS部分,很简单,而且由于图的设置,使得这道题没什么难度 模拟这种迷宫走法的部分,开始很不好想关于这种转向的走法,后面取巧这么设置(以左墙寻路为例): 首先,决定下一步的step变量,按着索引递增,四个方向设置成逆时针 阅读全文
posted @ 2021-04-22 11:13 IdiotNe 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 思路还是很清晰的,就是三维空间中运用BFS的方法,中间不幸WA过两次,问题出在这里:因为想要将dungeon的周边铺满'#',这样做的好处就是判断移动的下一步是不是还在dungeon内,可以不用一组较为耗时的不等式,不过隐患在于三维空间中,一定要记住不重不漏的填补'#',此外,填充的顺序也至关重要, 阅读全文
posted @ 2021-04-21 22:51 IdiotNe 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 一道联系参考价值不是很大的题 BFS,DFS搜索都是OK的,但是不要想着利用vis数组在进行什么优化了,因为这个Runtime Error了好几次,再去看discuss里的千奇百怪过样例(比如把输入原原本本回到输出就A了,可能和特判设置有关) 其实最建议的办法就是打表。 #include <iost 阅读全文
posted @ 2021-04-21 21:37 IdiotNe 阅读(35) 评论(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 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 小心分析,大胆行动,再思即可。 DP问题,开始尝试dp(i, j)设置为状态:必须以dp(i, j)为右下角的最大subarray,后来发现这样的状态转移基本无解,再放开一些,多加一个维度,考虑以(i, j)为右下角,且i所在维度长度看作新的维度,这样问题就解决了 #include <iostrea 阅读全文
posted @ 2021-04-21 16:58 IdiotNe 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 做题时候陷入一个误区,就是担心出错不敢想,不敢写,这道题入手思路是对的,但是畏首畏尾,自己规定时间写不出来,大略览了他人题解发现自己思路是对的才敢开始着手写,学会分析和对自己有自信是练习的一个很重要的指标兼目标 题目就是利用DP搜索,不过这道题没给出贷款,费用值的范围是一个很不应该的地方,因为这涉及 阅读全文
posted @ 2021-04-21 15:25 IdiotNe 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 问最短路径,所以上来就可以考虑BFS 繁杂的部分在具体问题实现细节,借助这道题正好顺手学了线性求素数筛子,模板如下: for (int i= 2; i<= maxl; ++i){ if (!chk[i]){ prime[tot++]= i; } for (int j= 0; j< tot; ++j) 阅读全文
posted @ 2021-04-20 22:23 IdiotNe 阅读(32) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页