https://www.luogu.org/problemnew/show/P1401

二分答案网络流判断是否可行即可

#include <bits/stdc++.h>
using namespace std; template <typename T>
inline void read(T &f) {
f = 0; T fu = 1; char c = getchar();
while (c < '0' || c > '9') {if (c == '-') fu = -1; c = getchar();}
while (c >= '0' && c <= '9') {f = (f << 3) + (f << 1) + (c & 15); c = getchar();}
f *= fu;
} const int N = 200 + 5, M = 4e4 + 5, INF = INT_MAX; struct Edge {
int u, v, next, cap, flow;
}G[M << 1]; struct ele {
int u, v, val;
bool operator < (const ele A) const {return val < A.val;}
}p[M]; int head[N], nowhead[N], d[N];
int tot, n, m, t, S, T; inline void addedge(int u, int v, int cap) {
G[++tot] = (Edge) {u, v, head[u], cap, 0}, head[u] = tot;
G[++tot] = (Edge) {v, u, head[v], cap, 0}, head[v] = tot;
} int bfs() {
memset(d, 0, sizeof(d));
queue <int> q;
d[S] = 1; q.push(S);
while(!q.empty()) {
int u = q.front(); q.pop();
for(int i = head[u]; i; i = G[i].next) {
int v = G[i].v;
if(d[v] == 0 && G[i].cap > G[i].flow) {
d[v] = d[u] + 1;
q.push(v);
}
}
}
return d[T];
} int dfs(int u, int Flow) {
if(u == T || Flow == 0) return Flow;
int flow = 0, f;
for(int &i = nowhead[u]; i; i = G[i].next) {
int v = G[i].v;
if(d[v] == d[u] + 1 && (f = dfs(v, min(Flow, G[i].cap - G[i].flow))) > 0) {
flow += f, Flow -= f;
G[i].flow += f, G[i ^ 1].flow -= f;
if(!Flow) break;
}
}
return flow;
} int dinic() {
int ans = 0;
while(bfs()) {
for(int i = 1; i <= n; i++) nowhead[i] = head[i];
ans += dfs(S, INF);
}
return ans;
} int main() {
read(n); read(m); read(t);
for(int i = 1; i <= m; i++) read(p[i].u), read(p[i].v), read(p[i].val);
sort(p + 1, p + m + 1);
int l = 1, r = m; S = 1; T = n;
while(l < r) {
int mid = (l + r) >> 1;
memset(head, 0, sizeof(head)); tot = 1;
for(int i = 1; i <= mid; i++) addedge(p[i].u, p[i].v, 1);
if(dinic() < t) l = mid + 1;
else r = mid;
}
printf("%d\n", p[l].val);
return 0;
}

luoguP1401 城市的更多相关文章

  1. luoguP1401 城市(二分答案+最大流)

    题意 N(2<=n<=200)个城市,M(1<=m<=40000)条无向边,你要找T(1<=T<=200)条从城市1到城市N的路,使得最长的边的长度最小,边不能重复 ...

  2. 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】

    由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ...

  3. 根据ip判断返回城市名称查询当地天气

    <?phpheader("content-type:text/html;charset=utf-8");date_default_timezone_set("Asi ...

  4. 使用page object模式抓取几个主要城市的pm2.5并从小到大排序后写入txt文档

    #coding=utf-8from time import sleepimport unittestfrom selenium import webdriverfrom selenium.webdri ...

  5. geolocation/ 百度地图api Geolocation 定位当前城市信息

    根据当前所处位置 定位所在城市信息 <html> <head> <meta charset="UTF-8" /> <title>js ...

  6. h5手机端下拉选择城市

    <!doctype html><html>    <head>            <meta http-equiv="Content-Type& ...

  7. BZOJ 2001: [Hnoi2010]City 城市建设

    2001: [Hnoi2010]City 城市建设 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 1132  Solved: 555[Submit][ ...

  8. redis技巧--IP地址查询对应城市

    场景: 根据IP地址判断用户所在地,虽然网上有好多篇了,但我记录一个一看就懂的,不用看超长文字再自己理解了. 我们有城市和IP地址段的对应关系,如: 上海: 202.127.0.0 ~ 202.127 ...

  9. 美团HD(5)-选择城市

    DJSelectCityViewController.m #import "DJSelectCityViewController.h" #import "DJConsta ...

随机推荐

  1. 1.4 Application应用

    使用celery第一件要做的最为重要的事情是需要先创建一个Celery实例,我们一般叫做celery应用,或者更简单直接叫做一个app.app应用是我们使用celery所有功能的入口,比如创建任务,管 ...

  2. Python基础学习四 文件操作(二)

    ####读取文件#### with open('goods_info.txt', 'r', encoding='utf-8') as f: f.seek(0) # 注意指针位置 goods_info ...

  3. Unity3D Physics Keynote

    [Unity3D Physics Keynote] 1.在哪设置Layer Collision Matrix? "Edit"->"Project Settings& ...

  4. xcode中的预定义宏

    [xcode中的预定义宏] 1.SRCROOT,是定义本target的proj的路径. 2.OBJROOT,对象文件根路径,对象文件(即obj文件)就是中间的临时文件.中间文件输出目录的名字以“pro ...

  5. css-三边框,外边距和内边距

    <div style="width:100px;height:50px;border: solid black 1px;position: absolute;right: 500px; ...

  6. 当集合里存储的是URL时的一些问题总结

    先看道题吧: package com.lk.C; import java.net.MalformedURLException; import java.net.URL; import java.uti ...

  7. c语言实践 统计输入的一串正整数里面奇数和偶数的个数

    怎么考虑这个问题. 首先先确定肯定是需要一个变量保存输入的数据的,我们叫它input,最后结果要的是个数,所以需要另外两个变量来保存奇数的个数和偶数的个数. int input int countJ ...

  8. Linux 与 BSD

    1)Linux 与 BSD 有什么不同? http://linux.cn/article-3186-1.html 2)BSD(Unix)家族 http://blog.csdn.net/cradmin/ ...

  9. cgroup初步分析(1)

    cgroup的功能和作用不废话,直说一下cgroup的几条设计准则,有了几条设计准则的约束,就比较容易理解其中的数据结构和函数,至于源代码cgroup.c,无非是两个内容,一是task_struct. ...

  10. UIView的alpha、hidden和opaque属性之间的关系和区别[转]

    UIView的alpha.hidden和opaque属性之间的关系和区别 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/ ...