[Bzoj1003][ZJOI2006]物流运输(spfa+dp)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1003
比较简单的dp,dp[i]为1-i天最小费用,dp方程为dp[i] = min(dp[i], dp[j] + c[j + 1][i] * (i - j) + k),(0<=j<i),c[i][j]为第i天到第j天都能走的最短路。
因为数据贼小,所有求最短路的方法都可以预处理出来c数组。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 1e9 + ;
struct node {
int e, w, next;
}edge[];
int head[], len;
ll dp[];
int st[][];
ll c[][];
int dis[];
int vis[], vis2[];
void init() {
memset(head, -, sizeof(head));
len = ;
memset(dp, 0x7f, sizeof(dp));
}
void add(int s, int e, int w) {
edge[len].e = e;
edge[len].w = w;
edge[len].next = head[s];
head[s] = len++;
}
int spfa(int n) {
queue<int>q;
for (int i = ; i <= n; i++)
dis[i] = INF, vis2[i] = ;
dis[] = ;
vis2[] = ;
q.push();
while (!q.empty()) {
int x = q.front();
q.pop();
vis2[x] = ;
for (int i = head[x]; i != -; i = edge[i].next) {
int y = edge[i].e;
if (vis[y])continue;
if (dis[y] > dis[x] + edge[i].w) {
dis[y] = dis[x] + edge[i].w;
if (!vis2[y]) {
q.push(y);
vis2[y] = ;
}
}
}
}
return dis[n];
}
int main() {
int n, m, k, s, x, y, z;
scanf("%d%d%d%d", &n, &m, &k, &s);
init();
for (int i = ; i <= s; i++) {
scanf("%d%d%d", &x, &y, &z);
add(x, y, z);
add(y, x, z);
}
scanf("%d", &s);
for (int i = ; i <= s; i++) {
scanf("%d%d%d", &x, &y, &z);
for (int j = y; j <= z; j++)
st[x][j] = ;
}
for (int i = ; i <= n; i++) {
for (int j = ; j <= n; j++) {
memset(vis, , sizeof(vis));
for (int q = i; q <= j; q++)
for (int w = ; w <= m; w++)
if (st[w][q])vis[w] = ;
c[i][j] = spfa(m);
}
}
for (int i = ; i <= n; i++) {
dp[i] = (ll)c[][i] * i;
for (int j = ; j < i; j++)
dp[i] = min(dp[i], dp[j] + c[j + ][i] * (i - j) + k);
}
printf("%lld\n", dp[n]);
return ;
}
[Bzoj1003][ZJOI2006]物流运输(spfa+dp)的更多相关文章
- bzoj1003: [ZJOI2006]物流运输(DP+spfa)
1003: [ZJOI2006]物流运输 题目:传送门 题解: 可以用spfa处理出第i天到第j都走这条路的花费,记录为cost f[i]表示前i天的最小花费:f[i]=min(f[i],f[j-1] ...
- BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)
Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: ...
- [ZJOI2006]物流运输 SPFA+DP
题目描述 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪. ...
- 2018.09.02 bzoj1003: [ZJOI2006]物流运输(dp+最短路转移)
传送门 dp好题. 每一天要变更路线一定还是走最短路. 所以l~r天不变更路线的最优方案就是把l~r天所有不能走的点都删掉再求最短路.显然是可以dp的. 设f[i]表示第i天的最优花销.那么我们枚举在 ...
- bzoj1003 [ZJOI2006]物流运输
1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 6300 Solved: 2597[Submit][Stat ...
- bzoj1003[ZJOI2006]物流运输trans
1003: [ZJOI2006]物流运输trans Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常 ...
- BZOJ1003: [ZJOI2006] 物流运输 trans
物流运输--看了神犇的题解,就是dp+最短路,设f[i]为1~i天的最少花费,那么 dp[i]=min(cost[1,i],min{dp[j]+cost[j+1,i]+K,1≤j<i}) 就是从 ...
- [BZOJ1003] [ZJOI2006] 物流运输trans (最短路 & dp)
Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格 ...
- [bzoj1003][ZJOI2006][物流运输] (最短路+dp)
Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格 ...
随机推荐
- 2018-2-13-win10-uwp-参考
title author date CreateTime categories win10 uwp 参考 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23 ...
- Linux手册页内容
总用9页 man1:可执行程序或shell命令 man2:系统调用(kernel提供的函数) man3:库调用(程序库中的函数) man4:/dev中的特殊文件 ...
- BZOJ3129/洛谷P3301方程(SDOI2013)容斥原理+扩展Lucas定理
题意:给定方程x1+x2+....xn=m,每个x是正整数.但是对前n1个数做了限制x1<=a1,x2<=a2...xn1<=an1,同时对第n1+1到n1+n2个数也做了限制xn1 ...
- DispatcherServlet的工作原理
下面是DispatcherServlet的工作原理图,图片来源于网络. 下面是我从DispatcherServlet源码层面来分析其工作流程: 1.请求到达后,调用HandlerMapping来查找对 ...
- cmd获取管理员权限等
鼠标点点点的略过 可输入命令 runas /user:Administrator cmd 或 runas /noprofile /user:Administrator cmd Administrato ...
- MySQL重复数据中限定操作n条
对于一个表,有时可能里面有很多重复的条,比如: +-----------+---------+| coupon_id | user_id |+-----------+---------+| 8 | 1 ...
- thinkphp 关联
原理:https://www.kancloud.cn/laowu199/e_dev/448632 示例数据库 hasOne:有一个,加上主谓语应该是 ,A 有一个 BhasMany:有很多,A 有很多 ...
- php注解
官方全部注解:https://docs.phpdoc.org/references/phpdoc/tags/index.html 1.@var 您可以使用@var标记来记录属性的“类型”,有时也称为类 ...
- Spring的AOP和IoC及隔离级别
Spring的AOP和IoC Spring AOP:代理机制.Spring提供的自动代理机制 Spring的IoC来实组件之间的依赖关系注入, 使控制层与业务实现分离,即客户通过调用业务委托接口来调用 ...
- [洛谷P1514] NOIP2010 引水入城
问题描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行×M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度. ...