在处理好输入输出之后,关键从集合的角度考虑最小花费。决策类问题带有动态规划的思想,用第一个维度表示从起点到达的城市,第二个维度表示当前油箱剩余的油量,f[i,j]表示从起点到i城剩余油量为j的最小花费。然后使用一个小根堆来维护这个状态,这样可以保证第一次得到终点时的状态是最优解这道题难在无法判断在某个城市应该加多少油,因此我们一点一点的加。每次加一单位的油并加入优先队列,直到到达终点即可,剩下的就很像最短路里的堆优化dijkstra了 #include<bits/stdc++.h> using namespace std; typedef pair<int,int> p...