就我一开始写状压的吗?

调不过

后来发现(直接搜索)直接最短路就行了……

\(f[i]\)表示前\(i\)天最少需要多少

\(f[i] = min(f[j] + dis(j + 1, i))\)

然后就好了

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue> const int MAXN = 110;
const int MAXM = 22;
const int INF = 0x3f3f3f3f;
template<typename T>
inline void getmin(T & x, const T y) { if (x > y) x = y; }
int n, m, K, E, map[MAXM][MAXM];
int t1, t2, t3, cant[MAXN][MAXM], P, f[MAXN];
bool inq[MAXN], cnt[MAXM];
std::queue<int> q;
int dis[MAXM];
int bellman_ford(int b, int e) {
memset(cnt, 0, sizeof cnt);
for (int i = b; i <= e; ++i)
for (int j = 1; j <= m; ++j)
cnt[j] |= cant[i][j];
memset(dis, 0x3f, sizeof dis);
dis[1] = 0; q.push(1); inq[1] = true;
while (!q.empty()) {
int t = q.front(); q.pop(); inq[t] = false;
for (int i = 1; i <= m; ++i) if (!cnt[i])
if (dis[i] > dis[t] + map[t][i]) {
dis[i] = dis[t] + map[t][i];
if (!inq[i]) {
inq[i] = true;
q.push(i);
}
}
}
return dis[m];
}
int main() {
memset(map, 0x3f, sizeof map);
memset(f, 0x3f, sizeof f); f[0] = 0;
scanf("%d%d%d%d", &n, &m, &K, &E);
for (int i = 1; i <= E; ++i) {
scanf("%d%d%d", &t1, &t2, &t3);
getmin(map[t1][t2], t3);
getmin(map[t2][t1], t3);
}
scanf("%d", &P);
while (P --> 0) {
scanf("%d%d%d", &t1, &t2, &t3);
for (int i = t2; i <= t3; ++i)
cant[i][t1] = true;
}
for (int i = 1; i <= n; ++i)
for (int j = 0, t; j != i; ++j)
if ((t = bellman_ford(j + 1, i)) != INF)
getmin(f[i], f[j] + t * (i - j) + K * (j != 0));
printf("%d\n", f[n]);
return 0;
}

1003: [ZJOI2006]物流运输的更多相关文章

  1. BZOJ 1003 [ZJOI2006]物流运输trans

    1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4242  Solved: 1765[Submit] ...

  2. BZOJ 1003: [ZJOI2006]物流运输trans(最短路+dp)

    1A,爽! cost[i][j]表示从第i天到第j天不改路线所需的最小花费,这个可以用最短路预处理出.然后dp(i)=cost[j][i]+dp(j-1)+c. c为该路线的花费. --------- ...

  3. BZOJ(1) 1003 [ZJOI2006]物流运输

    1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 9404  Solved: 4087[Submit][Stat ...

  4. BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)

    Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: ...

  5. bzoj 1003 [ZJOI2006]物流运输(最短路+dp)

    [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 8973  Solved: 3839[Submit][Status][Di ...

  6. 【BZOJ】1003: [ZJOI2006]物流运输trans(SPFA+DP)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1003 这题一开始看是不会的额,,,还是看题解了..一开始我觉得不能用最短路啥的,,看了题解发现这是d ...

  7. 【BZOJ1003】1003: [ZJOI2006]物流运输trans SPFA+DP

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格 ...

  8. BZOJ 1003: [ZJOI2006]物流运输trans DP+最短路

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格 ...

  9. 1003. [ZJOI2006]物流运输【区间DP+最短路】

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转 停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严 ...

  10. 【刷题】BZOJ 1003 [ZJOI2006]物流运输

    Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格 ...

随机推荐

  1. Codeforces 1237E Perfect Balanced Binary Search Tree

    题目链接 Observations 含有 $n$ 个点且 key(以下也称 key 为「权值」)是 1 到 $n$ 的 BST 具有下列性质: 若 $k$ 是一个非根叶子且是个左儿子,则 $k$ 的父 ...

  2. 两两内积为0(牛客多校第七场)-- CDMA

    题意: 构造一个n*n的矩阵,元素只能是-1或1,任意两行内积为0(两两相乘加起来和为0). 思路: #define IOS ios_base::sync_with_stdio(0); cin.tie ...

  3. CSS3点击波浪按钮特效

    在线演示 本地下载

  4. Win32汇编-创建窗体代码

    1.一个最简单的窗体的创建 ;>>>>>>>>>>>>>>>>>>>>>& ...

  5. python基本数据类型零碎知识点

                                                                                                        ...

  6. Chromium浏览器启动参数

    序号 参数 说明1 --allow-outdated-plugins 不停用过期的插件.2 --allow-running-insecure-content 默认情况下,https 页面不允许从 ht ...

  7. Java new运算符解析

    1.创建数组时,不使用new操作符 Person [] a; a[0]=new Person(); //Error:variable a might not have been initialized ...

  8. ZuulServlet源码分析及ZuulFilter加载

    参考https://yq.aliyun.com/wenji/2...https://blog.csdn.net/lds2227... 1.声明ZuulServlet @Configuration @E ...

  9. 2.bash术语定义

    2.术语定义POSIX:基于Unix的一系列操作系统可移植性的标准.Bash主要和POSIX标准第1003.1号中的<Shell和使用工具>有关.空白符:一个空格或者制表符.内部命令:在s ...

  10. Gcc 安装过程中部分配置

    Gcc 安装过程中部分配置详解 全文参考<have fun with Gcc>一文,如有需要请联系原作者prolj@163.com 解压gcc源码后,需要进行configure,这时候一般 ...