【题目链接】

点击打开链接

【算法】

最短路,注意不能用dijkstra,要用SPFA

【代码】

#include <algorithm>
#include <bitset>
#include <cctype>
#include <cerrno>
#include <clocale>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <limits>
#include <list>
#include <map>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <utility>
#include <vector>
#include <cwchar>
#include <cwctype>
#include <stack>
#include <limits.h>
using namespace std;
#define MAXN 100 typedef long long LL; LL i,M,N,x,t,v,ans,p;
LL dist[MAXN+],vis[MAXN+],level[MAXN+];
vector<pair<LL,LL> > E[MAXN+]; template <typename T> void read(T &x) {
int f=; char c = getchar(); x=;
for (; !isdigit(c); c = getchar()) { if (c=='-') f=-; }
for (; isdigit(c); c = getchar()) x=x*+c-'';
x*=f;
} void spfa(int low,int high) {
int i,to,cost;
queue<LL> q;
memset(vis,,sizeof(vis));
for (i = ; i <= N; i++) dist[i] = 2e9;
dist[] = ; vis[] = ;
q.push();
while (!q.empty()) {
x = q.front(); q.pop();
vis[x] = ;
for (i = ; i < E[x].size(); i++) {
to = E[x][i].first;
cost = E[x][i].second;
if ((level[to] >= low) && (level[to] <= high)) {
if (dist[x] + cost < dist[to]) {
dist[to] = dist[x] + cost;
if (!vis[to]) {
vis[to] = ;
q.push(to);
}
}
}
}
}
} int main() { read(M); read(N);
for (i = ; i <= N; i++) {
read(p); read(level[i]); read(x);
E[].push_back(make_pair(i,p));
while (x--) {
read(t); read(v);
E[t].push_back(make_pair(i,v));
}
} ans = 2e9;
for (i = level[] - M; i <= level[]; i++) {
spfa(i,i+M);
ans = min(ans,dist[]);
} cout<< ans << endl; return ; }

最新文章

  1. Yii2框架RESTful API教程(二) - 格式化响应,授权认证和速率限制
  2. jboss eap 6.3 域(Domain)模式配置
  3. POJ 3312 Mahershalalhashbaz, Nebuchadnezzar, and Billy Bob Benjamin Go to the Regionals (水题,贪心)
  4. CF 224 B Array
  5. jquery.qrcode.min.js(支持中文转化二维码)
  6. java代码之美(10)---Java8 Map中的computeIfAbsent方法
  7. Hadoop记录-hadoop jmx配置
  8. 【欧拉回路+最小生成树】SD开车@山东2018省队一轮集训day1
  9. git 使用过程中遇到的问题does not appear to be a git repository Could not read from remote respository
  10. [转]virtualBox实现主机和虚拟机相互ping通,配置静态IP地址
  11. planning深度剖析
  12. Python输入语句
  13. matlab的解方程的例子
  14. 洛谷 P2058 海港 解题报告
  15. Revit api 创建族并加载到当前项目
  16. thread == 售票
  17. 【CSS】定义元素的位置
  18. 【第三十六章】 metrics(4)- metrics-graphite
  19. struts2与springmvc的区别
  20. 用ASP.Net(C#)连接Oracle数据库的方法及实例

热门文章

  1. AC日记——租用游艇 洛谷 P1359
  2. 51 NOD 1406 and query
  3. UICollectionView 讲解
  4. JavaScript - 正则表达式解惑
  5. 消息列队 分布式事务解办法 celery flower使用总结
  6. 如何卸载centos中自带的Java
  7. 数据结构与算法之贪心算法 C++实现
  8. DOM编程 --《高性能JavaScript》
  9. 使用DWR实现自己主动补全 相似百度搜索框的自己主动显示效果
  10. gcc编译minigui新程序报错