摘要: 然而我也不知道这是啥啊。。。反正差不多。。。哪位大佬给区分一下QWQ。。 好的,我把堆的<写反了。。又调了一个小时。。你能不能稳一点。。。。 记录状态:所在位置u,油量c,花费w 扩展状态: 1.如果c+1<=C,就加1升油,为什么只加1升?因为如果这个状态不优,那它就会乖乖待在堆底下,不会多出现冗 阅读全文
posted @ 2019-04-26 21:50 LuitaryiJack 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 当转移的代价是0和一个分明不同的权值时,可以用双端队列BFS去跑(你跑最短路也没问题。。QWQ) 而对于这道题,边旋转代价是1,不旋转代价是0;可以直接建图最短路,也可以跑BFS 这个题建图很有意思:如果是' \ '就在mp上记录:1,反之 ' / '在上面记录为0 至于如何用:如果一个点在左上,一 阅读全文
posted @ 2019-04-26 20:05 LuitaryiJack 阅读(154) 评论(0) 推荐(1) 编辑
摘要: woc累死了写了两个半小时。。。就是BFS?我太菜了。。。 刚开始以为让人预先跑一遍BFS,然后一会儿取两节加起来就好了,结果发现求出来的最短路(就是这个意思)会因箱子的移动而变化。。。。我死了QWQ 康康书上正解:双重BFS?!!让人推箱子的时候再跑一遍BFS?!!时间不就爆炸了?!!啊n,m只有 阅读全文
posted @ 2019-04-26 15:21 LuitaryiJack 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 多测不清空,爆零两行泪。。。。我死了QWQ 每个节点3个状态:横坐标,纵坐标,和方向 说一下方向:0:立着,1:竖着躺着,上半部分在(x,y),2:横着躺着,左半部分在(x,y) 然后就有了常量数组: 第一维是状态中的方向,第二维是要扩展的方向(0,1,2,3) 然后就搜他。。。。记得queue要清 阅读全文
posted @ 2019-04-26 11:28 LuitaryiJack 阅读(318) 评论(0) 推荐(1) 编辑
摘要: 双向搜索:把前一半的可行状态搜出来,然后sort+unique,之后搜后一半时,结束时二分一下前一半的答案,拼出一个与W尽量接近的ans来更新 ps:距LYD说前一半取n/2+2时跑的最快。。。不知,,, 2019.04.26 阅读全文
posted @ 2019-04-26 09:43 LuitaryiJack 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 不知蓝书的标程在说什么,,,,于是自己想了一下。。。发现自己的代码短的一批。。。 限制搜索深度+枚举时从大往小枚举,以更接近n+bool判重,避免重复搜索 2019.04.26 阅读全文
posted @ 2019-04-26 09:00 LuitaryiJack 阅读(91) 评论(0) 推荐(0) 编辑
摘要: emm。。。挺秀的。。。挺神的? 每行,每列,每宫用一个二进制数表示选或没选的状态,刚开始设没选为1,然后更改状态的时候异或一下就好了; 这样可以通过lowbit取出每一个没有选过的数;(妙啊? 关于剪枝:每次选状态数最小的位置(就是能选择的数少的位置)去向下搜索(需要预处理出每个数代表的状态能选择 阅读全文
posted @ 2019-04-26 00:08 LuitaryiJack 阅读(126) 评论(0) 推荐(0) 编辑