最短路+状压dp
由于我们看到他的k很小(1<=k<=5)就想到了爆搜状压
我们肯定要知道k个城镇与每个点之间的距离,最短路就跑k遍;
枚举选的农场,开始状压;
至于状压:
1 | f [当前状态为i (二进制中,1表示走过)] [当前所在的城镇为j] |
具体见代码,大佬勿喷qwq。。。
1 |
|
完结撒花。。。
由于我们看到他的k很小(1<=k<=5)就想到了爆搜状压
我们肯定要知道k个城镇与每个点之间的距离,最短路就跑k遍;
枚举选的农场,开始状压;
至于状压:
1 | f [当前状态为i (二进制中,1表示走过)] [当前所在的城镇为j] |
具体见代码,大佬勿喷qwq。。。
1 | #include<iostream> |
完结撒花。。。