摘要: 嘟嘟嘟 很简单的折半搜索。 把式子变一下型,得到$a + b = d - c$。 然后枚举$a, b$,存到$map$里,再枚举$c, d$就好了。 $map$以$a,b$两数之和为下标。为了判重,$map$的第二个参数是一个$vector$,$vector$里面又存了两个数$a, b$。 这样先$ 阅读全文
posted @ 2018-11-26 19:25 mrclr 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 还是$IDA*$。 这道题是$ZOJ$的加强版,$n$从$100$扩大到了$10000$,所以必须有非常给力的剪枝才能过。 除了迭代加深,还要加上估价函数:对于当前数$x$,$h(x)$应该是$O(\log_{2})$,即每一次否给$x$乘$2$。 然后如果这么手动取乘$2$的话,注意得开$ 阅读全文
posted @ 2018-11-26 17:34 mrclr 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 \(IDA*\)。 没错就是暴搜,然后加上迭代步数,再加上$A*$。 至于每一步的操作,也是暴力(我写的可能有点丑)。 还有一个剪枝,就是别走上一步的逆操作。 然后我因为输出$No \ \ moves \ \ needed$后没输出中间的数$Debug$了半天。 $ZZ$啊 #include 阅读全文
posted @ 2018-11-26 16:09 mrclr 阅读(205) 评论(0) 推荐(0) 编辑