poj3662 最短路+二分】的更多相关文章

//Accepted 508 KB 79 ms //spfa+二分 //二分需要的花费cost,把图中大于cost的边设为1,小于cost的边设为0,然后spfa求 //最短路,如果小于K则可行,继续二分 #include <cstdio> #include <cstring> #include <iostream> #include <queue> #include <cmath> #include <algorithm> usin…
Telephone Lines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7214   Accepted: 2638 Description Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncooperative, so he needs to pay for some of…
题目链接 题意 有\(n\)个牛棚,每个牛棚初始有\(a_i\)头牛,最后能容纳\(b_i\)头牛.有\(m\)条道路,边权为走这段路所需花费的时间.问最少需要多少时间能让所有的牛都有牛棚可待? 思路 二分 因为问题具有单调性,因此考虑二分时间,\(check\)是否满足条件. 满足条件指什么呢? 是指所有的牛都有牛棚可待. 是指所有的牛都顺利地从某一个牛棚移动到了另一个合法的牛棚(或者不移动),而这个移动是在限定的时间范围内的. 建图 首先拆点,将牛棚拆成 初始牛棚 与 终态牛棚. 在 源点…
P1462 通往奥格瑞玛的道路 题面 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目描述 在艾泽拉斯,有 \(n\) 个城市.编号为 \(1,2,3,...,n\) . 城市之间有 \(m\) 条双向的公路,连接着两个城市,从某个城市到另一个城市,会遭到联盟的攻击,进而损失一定的血量. 每次经过一个城市,都会被收取一定的过路费(包括起点和终点).路上并没有收费站…
链接:洛谷 POJ 题目描述 Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncooperative, so he needs to pay for some of the cables required to connect his farm to the phone system. There are N (1 ≤ N ≤ 1,000) forlor…
Problem Description A certain local trucking company would like to transport some goods on a cargo truck from one place to another. It is desirable to transport as much goods as possible each trip. Unfortunately, one cannot always use the roads in th…
题目链接:http://poj.org/problem?id=3662 Telephone Lines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8248   Accepted: 2977 Description Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncoopera…
Occupy Cities Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 509    Accepted Submission(s): 125 Problem Description The Star Wars is coming to an end as the Apple Planet is beaten by the Banan…
题目大意: 帮忙找到一条a到b的最短路,前提是要保证路上经过的站点的最大距离尽可能短 这道题居然要用到二分...完全没去想过,现在想想求最大距离的最小值确实是... 这里不断二分出值代入spfa()或者dijkstla()中计算a到b的最短距离,每次都保证只经过边小于mid值的路径 #include <iostream> #include <cstdio> #include <queue> #include <cstring> #include <al…
SPFA和二分的使用 跑一下最短路看看能不能回到奥格瑞玛,二分收费最多的点 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; #define maxn 10005 #define maxm 50005 #define inf 2000000000 int n,m,b,cnt,a…
传送门 题目大意:n个点p条边,每条边有权值,让1和n点联通,可以将联通1--n的边选k条免费, 求剩下边权的最大值. 题解:二分一个答案x,大于x的边权设为1,小于等于x的边权设为0,跑最短路. 若从1到n的最短路dis[n]<=k,则可以通过免费k条边,答案为x. 代码: #include<iostream> #include<cstdio> #include<queue> #include<cstring> #include<algorit…
题目来源:洛谷 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目描述 在艾泽拉斯,有n个城市.编号为1,2,3,...,n. 城市之间有m条双向的公路,连接着两个城市,从某个城市到另一个城市,会遭到联盟的攻击,进而损失一定的血量. 每次经过一个城市,都会被收取一定的过路费(包括起点和终点).路上并没有收费站. 假设1为暴风城,n为奥格瑞玛,而他的血量最多为b,出发…
一道图论的最短路题.一开始连最短路都没想到,可能是做的题太少了吧,完全没有思路. 题目大意: FJ的农场周围分布着N根电话线杆,任意两根电话线杆间都没有电话线相连.一共P对电话线杆间可以拉电话线,第i对电话线杆的两个端点分别为A_i.B_i,它们间的距离为L_i .数据中保证每对{A_i,B_i}最多只出现1次.FJ的任务是找一条将1号和N号电话线杆连起来的路径.电信公司最终同意免费为FJ连结任意K对电话线杆.此外的电话线,FJ需要为它们付的费用,等于其中最长的电话线的长度(每根电话线仅连结一对…
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例: 输出样例: 说明 思路 AC代码 总结 题面 题目链接 P1951 收费站_NOI导刊2009提高(2) 其实还有一道双倍经验 P1462 通往奥格瑞玛的道路 题目描述 在某个遥远的国家里,有n个城市.编号为1,2,3,-,n. 这个国家的政府修建了m条双向的公路.每条公路连接着两个城市.沿着某条公路,开车从一个城市到另一个城市,需要花费一定的汽油. 开车每经过一个城市,都会被收取一定的费用(包括起点和终…
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 题面 题目链接 P1948 [USACO08JAN]电话线Telephone Lines 题目描述 Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncooperative, so he needs to pay for some of…
题目链接:https://www.luogu.com.cn/problem/P1462 题目大意: 有 \(n\) 个点 \(m\) 条边,每个点有一个点权,每个边有一个边权.求所有长度不超过 \(b\) 的路径中的点权最大值的最小值. 解题思路: 二分答案 \(D\)(即点权最小值),每次求最短路查看有没有所有点权都 \(\le D\) 的最短路径长度 \(\le b\). 实现代码如下: #include <bits/stdc++.h> using namespace std; const…
题意:有C头奶牛,K个挤奶站,每个挤奶器最多服务M头奶牛,奶牛和奶牛.奶牛和挤奶站.挤奶站和挤奶站之间都存在一定的距离.现在问满足所有的奶牛都能够被挤奶器服务到的情况下,行走距离的最远的奶牛的至少要走多远.题目给的邻接矩阵是K个挤奶站与C个奶牛的距离矩阵,其中0为不可达的意思. 刚刷网络流,第一次遇到这样题目,题意我就看了半天才懂..此题需要将题给条件转化,最后利用二分枚举距离,将每次情况建立一个新的图再网络流得解. 思路: 需要首先用Floyd将各个站与奶牛的最短距离得出,然后利用二分,左边界…
题意:最短路上有一条高度限制,给起点和最大高度,求满足高度最大情况下,最短路的距离 不明白为什么枚举所有高度就不对 #include<cstdio> #include<cstring> #include<algorithm> ; ][][],dist[],H[]; using namespace std; int n,line; int i,j,k; int st,ed,mid; ; ]; ]; bool dijkstra() { ]; ;i<=n;i++) {…
Description Input Output Sample Input 4 5 1 2 5 2 3 5 3 1 5 2 4 3 4 1 3 Sample Output 3.66666667 Solution 二分一个$ans$,然后每条边减去$ans$,若存在负环则$ans$合法. 判断个入队20次就很稳了. Code #include<iostream> #include<cstring> #include<cstdio> #include<queue>…
可怜的又做噩梦了..但是这次跟上次不大一样,虽然他又被困在迷宫里,又被装上了一个定时炸弹,但是值得高兴的是,他发现他身边有数不清的财宝,所以他如果能带着这些财宝并活着逃出去的话,他就发财啦.不过,这次的迷宫不再是一个矩形方格了,而是由点和边组成的图,每条边都有通过该边的时间,以及由于神奇阵法而产生的对财宝数量的限制(即通过这条边只能带上不超过一定数量的财宝,否则炸弹将笋干爆炸!).现在,又开始疑惑了,在保证能活着逃出去的情况下,他最多能拿多少价值的财宝?   输入 第一行一个整数,代表样例数. …
看到最大的最小值應該想到二分答案,這樣就解決了最小點權的問題,判血量就很好說,直接比較就行, 一個點是二分點權數組,複製一份然後排序,二分下標,速度較快 這麼簡單的題我竟然寫了這麼長時間 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #define ll long long using namespace std;…
Telephone Lines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6973   Accepted: 2554 Description Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncooperative, so he needs to pay for some of…
题目传送门 题意:有n个点, p条路,每条道路有个花费Li, 然后现在要建一条1-n的路线,然后可以选k条道路免费, 然后可以在剩下的道路中选择价格最高的边支付费用, 求这个答案最小. 题解: 二分答案. 每次check过程中, 一条边的花费 <= mid 则 路径长度为0,否者路径长度为1.然后 求 到n的点之后长度<=k. 然后就是bfs的过程中. 如果这条边是0, 那么从前入队, 否者从后入队. 代码: #include<cstdio> #include<algorit…
题目描述 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动的热泪盈眶,开起了门…… 妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的经验告诉她小明被带到了t区,而自己在s区. 该市有m条大道连接n个区,一条大道将两个区相连接,每个大道有一个拥挤度.小明的妈妈虽然很着急,但是不愿意拥挤的人潮冲乱了她优雅的步伐.所以请你帮她规划一条从s至t的路线,使得经过道路的拥挤度最大值最小. 输入输出格式 输入格式: 第一行四个数字n,m,s,t. 接下来…
Description 在某个遥远的国家里,有n个城市.编号为1,2,3,--,n. 这个国家的政府修建了m条双向的公路.每条公路连接着两个城市.沿着某条公路,开车从一个城市到另一个城市,需要花费一定的汽油. 开车每经过一个城市,都会被收取一定的费用(包括起点和终点城市).所有的收费站都在城市中,在城市间的公路上没有任何的收费站. 小红现在要开车从城市u到城市v(1<=u,v<=n).她的车最多可以装下s升的汽油.在出发的时候,车的油箱是满的,并且她在路上不想加油. 在路上,每经过一个城市,她…
题意: 思路: 先Floyd一遍两两点之间的最短路 二分答案 建图 跑Dinic 只要不像我一样作死#define int long long 估计都没啥事-- 我T到死辣--.. 最后才改过来-- (不过注意一哈 答案 &最短路确实是会爆int的) //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define N 667…
题面 传送门:https://www.luogu.org/problemnew/show/P1462 Solution 这道题如果去除掉经过城市的收费.那么就是裸的最短路 但是题目要求经过城市中最多的一次性收费的最小值,也就是说让经过的最大值尽可能小 那我们可以考虑二分这个最大值 一切收费大于我们二分的值的城市统统不走 在最短路那里改一下就好了 然后就OjbK了 时间复杂度 O(n*logn*log b) Code //Luogu P1462 通往奥格瑞玛的道路 //May,27th,2018…
P1144 -- 恶魔城 时间限制:1000MS      内存限制:131072KB 状态:Accepted      标签:    图论-最短路   二分   无 Description 上帝需要创造一位战士去消灭撒旦,这位战士必须要穿过恶魔城才能与撒旦决斗.恶魔城内有M条连接N个路口(从1到N编号)的街道,每一条街道都是单向的(也就是说你不能逆着该街道指定的方向走),并且在城内无论怎么走都不可能走回原来走过的地方.开始的时候,战士的生命力(HP)为INITHP.站在1号路口,而撒旦在第N号…
最短路+二分. 对容量进行二分,因为容量和时间是单调关系的,容量越多,能用的边越少,时间会不变或者增加. 因为直接暴力一个一个容量去算会TLE,所以采用二分. #include<cstdio> #include<vector> #include<cstring> #include<queue> #include<map> #include<algorithm> using namespace std; ; const int INF…
P1462 通往奥格瑞玛的道路 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目描述 在艾泽拉斯,有n个城市.编号为1,2,3,...,n. 城市之间有m条双向的公路,连接着两个城市,从某个城市到另一个城市,会遭到联盟的攻击,进而损失一定的血量. 每次经过一个城市,都会被收取一定的过路费(包括起点和终点).路上并没有收费站. 假设1为暴风城,n为奥格瑞玛,而他的血…