摘要: 直接根据最短distance greedy做。 用了优先队列,C++ less<type> 是大的先,所以我们可以重载<符号,把逻辑反过来。 第二种写法不用结构体,节省了空间复杂度,但是每次cmp的时候都要计算dist,但是时间会翻倍。 这里采用了 lambda funtion,注意 priorit 阅读全文
posted @ 2019-09-05 12:05 約束の空 阅读(1105) 评论(0) 推荐(0)
摘要: 比较难的dp问题。由于A最多出现一次,我们先不考虑A,只考虑存在L和P的情况,最后插入A。 dp[i][0] 前i个且最后为L,dp[i][1] 前i个且最后为P 递推公式如下 dp[i][0] 说明当前最后是L,那么前面可能是L或者A。前面如果是L,那么再前面只能是A,所以是 dp[i-2][1] 阅读全文
posted @ 2019-09-05 09:48 約束の空 阅读(457) 评论(0) 推荐(0)
摘要: dfs的问题,第一眼看上去不难,但是由于地图和位置信息都是不可知的,这导致 dfs 的时候坐标无从下手,同样判断是否访问过的 visited 也不好处理 。 本题的关键点在于,如何构建构建坐标系。令当前坐标为坐标原点,记录当前的方向,这样我们就能知道我们每次 move 以后的正确坐标了。然后就是标准 阅读全文
posted @ 2019-09-05 08:15 約束の空 阅读(139) 评论(0) 推荐(0)