摘要: 咕咕了。。。于是借鉴了小粉兔的做法ORZ。。。 其实就是维护最大子段和的线段树,但上面又多了一些操作。。。。QWQ 维护8个信息:1/0的个数(sum),左/右边起1/0的最长长度(ls,rs),整段区间中1/0的连续最长长度(mx)。 于是对于各个操作,我们有了一些tag。。。 tg1[]是区间赋 阅读全文
posted @ 2019-04-27 23:25 LuitaryiJack 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 这个题扔到A*可也还行。。。 定义估价函数h():为每个数或空格的位置 到 最终状态中所在位置 的 曼哈顿距离 的 总和。 把状态压成一个九进制数,便于存储和判重。 然后记录方案可以记录一下此次的操作和上一次的状态,具体见代码。 安利一篇博文:http://www.cnblogs.com/goodn 阅读全文
posted @ 2019-04-27 15:24 LuitaryiJack 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 题意是让求从st的ed第k短路。。。 考虑A*算法:先把终点到每个点最短路跑出来(注意要建反图),当做估价函数h(u),然后跑A* 每次取出总代价最小的,即g(u)+h(u)最小的进行扩展,注意如果u被取出的次数c[u]>k,就不再进行扩展了。 当ed被取出且c[ed]==k,那么答案就是此时的g( 阅读全文
posted @ 2019-04-27 13:24 LuitaryiJack 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 重构一遍就A了。。。但这样效率太低了。。。莫非都要重构???QWQ 每一秒男同志bfs3层,女同志bfs1层。注意扩展状态时,要判一下合不合法再扩展,而不是只判扩展的状态合不合法,否则有可能由非法的走到合法的地方。 2019.04.27 阅读全文
posted @ 2019-04-27 12:35 LuitaryiJack 阅读(170) 评论(0) 推荐(0) 编辑