luoguP1401 城市
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 城市的更多相关文章
- luoguP1401 城市(二分答案+最大流)
题意 N(2<=n<=200)个城市,M(1<=m<=40000)条无向边,你要找T(1<=T<=200)条从城市1到城市N的路,使得最长的边的长度最小,边不能重复 ...
- 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】
由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ...
- 根据ip判断返回城市名称查询当地天气
<?phpheader("content-type:text/html;charset=utf-8");date_default_timezone_set("Asi ...
- 使用page object模式抓取几个主要城市的pm2.5并从小到大排序后写入txt文档
#coding=utf-8from time import sleepimport unittestfrom selenium import webdriverfrom selenium.webdri ...
- geolocation/ 百度地图api Geolocation 定位当前城市信息
根据当前所处位置 定位所在城市信息 <html> <head> <meta charset="UTF-8" /> <title>js ...
- h5手机端下拉选择城市
<!doctype html><html> <head> <meta http-equiv="Content-Type& ...
- BZOJ 2001: [Hnoi2010]City 城市建设
2001: [Hnoi2010]City 城市建设 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 1132 Solved: 555[Submit][ ...
- redis技巧--IP地址查询对应城市
场景: 根据IP地址判断用户所在地,虽然网上有好多篇了,但我记录一个一看就懂的,不用看超长文字再自己理解了. 我们有城市和IP地址段的对应关系,如: 上海: 202.127.0.0 ~ 202.127 ...
- 美团HD(5)-选择城市
DJSelectCityViewController.m #import "DJSelectCityViewController.h" #import "DJConsta ...
随机推荐
- Python Twisted系列教程9:第二个小插曲,Deferred
作者:dave@http://krondo.com/a-second-interlude-deferred/ 译者:杨晓伟(采用意译) 可以从这里从头来阅读这个系列 更多关于回调的知识 稍微停下来再思 ...
- STM32与PC机串口通讯
有时要将板子的信息输出到电脑上来调试之类的,或者把传感器收集到的数据显示到电脑. 当然了,这只是最基本的串口通信,简单的说,是有一根USB线连着的. mbed上并没有能显示printf的功能.需要自己 ...
- javascript的加载、解析、执行对浏览器渲染的影响
javascript的加载方式,总得来说是在页面上使用script来声明,以及动态的加载这些方式,而动态的加载,在很多js库中都能够很好的去处 理,从而不至于阻塞其他资源的加载,并与其并行加载下来.这 ...
- Asp.net 动态添加Meta标签
下面代码动态设置浏览器文档模式 HtmlHead head = (HtmlHead)Page.Header; HtmlMeta contentType = new HtmlMeta();//显示字符集 ...
- Spring总结六:AOP(面向切面编程)
概述: AOP(Aspect-Oriented Programming,面向切面的编程),它是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术.它是一种新的 ...
- 代码查看import的类是出自哪个jar包的方法(转)
import java.security.ProtectionDomain; import java.security.CodeSource; public static void main(Stri ...
- solr开发 小案例
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" ...
- Java 基于web service 暴露接口 供外部调用
package cn.zr.out.outinterface; import java.text.SimpleDateFormat; import java.util.Date; import jav ...
- 面试题:cook和session
1.首先,Cookie与Session存在的目的是什么? 答:二者都是为了保持客户端访问用户与后台服务器的交互状态,之所以为了保持这种状态,一是为了方便一些业务的实现,另一方面就是为了简化后台服务端的 ...
- SOAP UI
We use SoapUI-Pro-5.1.2 1. Basic introduction - Windows 2. Use project environment tab to manage the ...