动态规划之灌溉草场

1.X为偶数
【动态规划之灌溉草场】2.X不位于任何奶牛的活动范围内
3.X>=2A
4.当X>2B时 , 存在Y∈[X-2B,X-2A]且满足上述条件时 , F[x] = F[y] +1(状态转移方程)
我们借助于优先级队列来找最小的F[y]
当求F[X]时 , 必须保证队列中的点的坐标必须位于[X-2B,X-2A]的范围内 , 
完全不允许点的坐标大于X-2A
当点的坐标小于X-2A时 , pop出去即可
当求完F[X]时 , 可将二元组(X-2A+2,F(X-2A+2))放入队列 , 为下次求解做准备 。
如何判断一个点是否在奶牛的活动范围内 , 可以用O(N)时间复杂度的程序完成
#include#include #include #include #include #include using namespace std;const int INFINITE = 1<<31;const int M