摘要: 首先理解这里的美味值相当于给你更多时间让你经过这个草垛的, 也就是在经过草垛时可以给你的时间减少w[i],这样能否比最短路不慢 然而我们并不容易知道怎么走才是最好的,所以要想办法避免找这个方案 我们新建一个点,向每个草垛连一个边权为 d[u]-w[u] 的有向边,从这个点跑一次最短路 效果就相当于求 阅读全文
posted @ 2019-04-25 22:05 羊肉汤泡煎饼 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 好像是个不需要vis数组的次短路,跑到收敛,然而给我脑袋弄炸了......到现在还没懂.......究竟次短路应该怎么求a...... 抄题解: 阅读全文
posted @ 2019-04-25 21:25 羊肉汤泡煎饼 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 一开始想着最短路时统计一下到每个点的牛数量,但是没写出来 建最短路树是个不错的想法,正常跑一次最短路,枚举每个点的前驱,如果d[y]==d[x]+w就是树上的一条边,优先连编号小的, 建好树以后做一次dfs,枚举一下每个点的贡献取个最大值即可 阅读全文
posted @ 2019-04-25 20:25 羊肉汤泡煎饼 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 有一点乱搞吧......对人对背包的理解有些考验,要想知道去掉某个点的值,可以选择对前缀求一次背包,后缀求一次背包,而且不省掉价钱那一维, 这样每个点就可以由前后组合成了,枚举一下价钱取max即可 直接01的多重背包就可以过 阅读全文
posted @ 2019-04-25 18:39 羊肉汤泡煎饼 阅读(117) 评论(0) 推荐(0) 编辑