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