最短路+二分。

对容量进行二分,因为容量和时间是单调关系的,容量越多,能用的边越少,时间会不变或者增加。

因为直接暴力一个一个容量去算会TLE,所以采用二分。

#include<cstdio>
#include<vector>
#include<cstring>
#include<queue>
#include<map>
#include<algorithm>
using namespace std; const int maxn = ;
const int INF = 0x7FFFFFFF;
struct aaa { int u, v, cc, tt; }node[];
vector<aaa>ljb[maxn];
int c[], dist[maxn], flag[maxn];
int n, m, t; void spfa(int xianzhi)
{
int iii;
queue<int>Q;
memset(flag, , sizeof(flag));
for (iii = ; iii<=n; iii++) dist[iii] = INF;
dist[] = ; Q.push(); flag[] = ;
while (!Q.empty())
{
int h = Q.front(); Q.pop(); flag[h] = ;
for (iii = ; iii<ljb[h].size(); iii++)
{
aaa u = ljb[h][iii];
if (u.cc >= xianzhi)
{
if (u.u == h)
{
if (dist[u.u] + u.tt <= dist[u.v])
{
dist[u.v] = dist[u.u] + u.tt;
if (flag[u.v] == )
{
Q.push(u.v);
flag[u.v] = ;
}
}
}
else if (u.v == h)
{
if (dist[u.v] + u.tt <= dist[u.u])
{
dist[u.u] = dist[u.v] + u.tt;
if (flag[u.u] == )
{
Q.push(u.u);
flag[u.u] = ;
}
}
}
}
}
}
} int main()
{
int X;
scanf("%d", &X);
while (X--)
{
int i, j, u, v, tt;
scanf("%d%d%d", &n, &m, &t);
for (i = ; i <= n; i++) ljb[i].clear();
for (i = ; i <= m; i++) node[i].tt = INF;
for (i = ; i < m; i++)
{
scanf("%d%d%d%d", &u, &v, &c[i], &tt);
node[i].u = u; node[i].v = v;
node[i].cc = c[i]; node[i].tt = tt;
ljb[v].push_back(node[i]); ljb[u].push_back(node[i]);
}
sort(c, c + m);
int anss = -, xx, dd, zz;
xx = ; dd = m - ; zz = (xx + dd) / ;
while ()
{
spfa(c[zz]);
if (dist[n] <= t) { anss = zz; xx = zz + ; zz = (xx + dd) / ; }
else { dd = zz; zz = (xx + dd) / ; }
if (xx >= dd) break;
}
printf("%d\n", c[anss]);
}
return ;
}

hdu 1839 Delay Constrained Maximum Capacity Path的更多相关文章

  1. hdu 1839 Delay Constrained Maximum Capacity Path 二分/最短路

    Delay Constrained Maximum Capacity Path Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu. ...

  2. hdu 1839 Delay Constrained Maximum Capacity Path(spfa+二分)

    Delay Constrained Maximum Capacity Path Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65 ...

  3. 【启发式搜索】Codechef March Cook-Off 2018. Maximum Tree Path

    有点像计蒜之道里的 京东的物流路径 题目描述 给定一棵 N 个节点的树,每个节点有一个正整数权值.记节点 i 的权值为 Ai.考虑节点 u 和 v 之间的一条简单路径,记 dist(u, v) 为其长 ...

  4. Codechef March Cook-Off 2018. Maximum Tree Path

    目录 题意 解析 AC_code @(Codechef March Cook-Off 2018. Maximum Tree Path) 题意 给你一颗\(n(1e5)\)个点有边权有点权的树,\(Mi ...

  5. HDU 1839

    http://acm.hdu.edu.cn/showproblem.php?pid=1839 题意:从1到n,要求时间小于等于T到达.每条边有一个容量,问最多能运多少货物. 分析:最多能运的货物取决于 ...

  6. UVA 10816 + HDU 1839 Dijstra + 二分 (待研究)

    UVA 题意:两个绿洲之间是沙漠,沙漠的温度不同,告诉起点,终点,求使得从起点到终点的最高温度最小的路径,如果有多条,输出长度最短的路径: 思路:用最小费用(最短路径)最大流(最小温度)也能搞吧,但因 ...

  7. hdu 4002 Find the maximum

    Find the maximum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) ...

  8. HDU 4002 Find the maximum(欧拉函数)

    题目链接 猜了一个结论,题面跟欧拉函数有关系. import java.util.*; import java.math.*; import java.text.*; import java.io.* ...

  9. HDU 5052 Yaoge’s maximum profit 光秃秃的树链拆分 2014 ACM/ICPC Asia Regional Shanghai Online

    意甲冠军: 特定n小点的树权. 以下n每一行给出了正确的一点点来表达一个销售点每只鸡价格的格 以下n-1行给出了树的侧 以下Q操作 Q行 u, v, val 从u走v,程中能够买一个鸡腿,然后到后面卖 ...

随机推荐

  1. 线段树练习 3&&P3372 【模板】线段树 1

    题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 Input Description 第一行一个正整数n,接下 ...

  2. DPDK support for vhost-user

    转载:http://blog.csdn.net/quqi99/article/details/47321023 X86体系早期没有在硬件设计上对虚拟化提供支持,因此虚拟化完全通过软件实现.一个典型的做 ...

  3. bootstrp-select插件使用

    需要导入 <link rel="stylesheet" href="js/plugins/silviomoreto-bootstrap-select20151109 ...

  4. List转换为DataTable

    public static DataTable ListToDataTable(IList list) { DataTable result = new DataTable(); if (list.C ...

  5. unity中的委托

    中午在做一个 数据点击然后 想把当前的Gameobject传过去,但是想了好久就是弄不出来. 之后网上看了下委托,抱着试试的心态,结果成功了 委托的定义 private delegate void C ...

  6. IntelliJ IDEA新建JAVA WEB项目(转载)

    IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本控制工具(git.svn ...

  7. 校门外的树 OpenJudge 1.6.06

    06:校门外的树 总时间限制:  1000ms 内存限制:  65536kB 描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0 ...

  8. C#-实验3

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. 将mysql的data目录移走方法

    如移动到"/home/mysql/data",我的mysql是装在/usr/local/mysql下的 1. 将/usr/local/mysql/data移动到/home/mysq ...

  10. CSS3中盒子的box-sizing属性

    box-sizing 属性 box-sizing 属性用来改变默认的 CSS盒模型 对元素宽高的计算方式.这个属性可以用于模拟那些非正确支持标准盒模型的浏览器的表现. box-sizing:conte ...