/* 题意:就是源点到终点有多条的路径,每一条路径中都有一段最大的距离! 求这些路径中最大距离的最小值! Dijkstra, Floyd, spfa都是可以的!只不过是将松弛的条件变一下就行了! 想了一下,这道题用最小生成树做也可以啊,图总是连通的嘛!所以建一棵最小 生成树,然后dfs一下,从源点1,到终点2的路径上,查找边长最大的路径! 附上代码..... */ #include<iostream> #include<cstdio> #include<algorithm&g…
题目链接:http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 49409   Accepted: 15729 Description Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on a…
#include<iostream>#include<algorithm>#include<stdio.h>#include<string.h>#include<ctype.h>#include<queue>#include<stack>#include<stdlib.h>#include<math.h>#include<limits.h>#define max(a, b) a>b…
dijkstra(最短路)和Prim(最小生成树)下的堆优化 最小堆: down(i)[向下调整]:从第k层的点i开始向下操作,第k层的点与第k+1层的点(如果有)进行值大小的判断,如果父节点的值大于子节点的值,则修改,并继续对第k+1层与第k+2层的点进行判断和修改,否则不修改,且退出.当点向下移动到树的最后一层,没有子节点供判断与修改,停止操作. 树最多有log(n) 层[log(n)=log2n,一般省略数字2],时间复杂度log(n)次. up(i)[向上调整]:同理,时间复杂度log(…
https://vjudge.net/problem/POJ-2253 题意 公青蛙想到母青蛙那里去,期间有许多石头,公青蛙可以通过这些石头跳过去.问至少要跳的最大距离,即所有路径上石头间的最大距离的最小值. 分析 这题是最短路的变形,最短路求的是路径总长的最小值,而此题是求通路中最长边的最小值.其实就是对最短路的定义不同: 一般的最短路为“每个边的权值之和”,这个题的最短路为 “各个边的权值的最大值”.注意格式输出,G++用%f. #include<iostream> #include<…
题意 : 给出二维平面上 N 个点,前两个点为起点和终点,问你从起点到终点的所有路径中拥有最短两点间距是多少. 分析 : ① 考虑最小生成树中 Kruskal 算法,在建树的过程中贪心的从最小的边一个个添加,每添加一条边就用用并查集判断起点和终点是否已经连接起来,如果连接起来了,那么答案就是这条边,否则继续添加边.最小生成树最后肯定能保证起点和终点连接起来,因为其是从最小边贪起,所以此方法是正确的! #include<stdio.h> #include<algorithm> #in…
做到了这个题,感觉网上的博客是真的水,只有kuangbin大神一句话就点醒了我,所以我写这篇博客是为了让最短路的入门者尽快脱坑...... 本题思路:本题是最短路的变形,要求出最短路中的最大跳跃距离,基本思路与最短路一样,dist数组为当前点到源结点最短路的最大距离,这样的话我们知道只需要改变松弛方程就可以了,每次我们选取一个最小值dist[ k ],那么接下来我们就需要将与结点k相邻的结点都更新,如何更新呢,当然是选取之前所走路中的最大值和现在需要走的路中的值的最大值啦即dist[ j ] =…
题目链接. 题意: 从0号点,到1号点,找一条能通过的路,使得这条路中的最大的边,比其它所有可能的路中的边都小. 分析: 这题就是按着dijkstra写,写着写着觉得像是prim了. 其中d[n]表示从0出发到达该点的某条路中的最大边,且比其它可能的路中的都小. 从d[i]到d[j], 就是要用 max(d[i], G[i][j]) 去更新 d[j] . 注意: 输出时要用 %.3f 不能用 %.3lf. #include <iostream> #include <cstdio>…
Frogger(poj2253) Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 31854   Accepted: 10262 Description Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to v…
题目链接 http://poj.org/problem?id=2253 题意 给出青蛙A,B和若干石头的坐标,现在青蛙A要跳到青蛙B所在的石头上,求出所有路径中最远那一跳的最小值. 思路 Floyd算法的变形,将求两点之间的最短路改成求两点之间最大边权的最小值即可. 代码 #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <cma…
Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 34865   Accepted: 11192 Description Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her,…
Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 28333   Accepted: 9208 Description Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her,…
Frogger DescriptionFreddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her, but since the water is dirty and full of tourists' sunscreen, he wants to avoid swimm…
http://poj.org/problem?id=2253 题目大意: 有一只可怜没人爱的小青蛙,打算去找他的女神青蛙姐姐,但是池塘水路不能走,所以只能通过蹦跶的形式到达目的地,问你从小青蛙到青蛙姐姐的路程中,有多条路径,问你 每一条 路径中 最大值 中的最小值.打个比方,假设 1->5有两条路径,第一条路径的最大值为2 ,第二条路径的最大值为3,那麽结果就是 2,题目真的绕. 思路:基本方法就是spfa算法,只不过和原来的标准模板相比,原来的 path[aim] > max(path[ai…
题目链接:https://cn.vjudge.net/problem/POJ-2253 题意 一只Forg需要从节点1走到节点n 现要找一条各个间隔最小的路径 问间隔最小是多少 思路 用dijsktra就好 查找间隔最小的路径 注意浮点数的比较 代码 #include <cstdio> #include <vector> #include <queue> #include <cmath> using namespace std; const int maxn…
这题的坑点在POJ输出double不能用%.lf而要用%.f...真是神坑. 题意:给出一个无向图,求节点1到2之间的最大边的边权的最小值. 算法:Dijkstra 题目每次选择权值最小的边进行延伸访问,最坏情况下每条路径都要访问,复杂度O(n^2) 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm>…
http://poj.org/problem?id=2253 #include <iostream> #include <queue> #include <cmath> #include <iomanip> using namespace std; queue <int > que; int co[202][2]; double d[202][202],u[202][202]; int n; int main(){ ios::sync_with_…
题目:http://poj.org/problem?id=2253 题意:给出两只青蛙的坐标A.B,和其他的n-2个坐标,任一两个坐标点间都是双向连通的.显然从A到B存在至少一条的通路,每一条通路的元素都是这条通路中前后两个点的距离,这些距离中又有一个最大距离. 现在要求求出所有通路的最大距离,并把这些最大距离作比较,把最小的一个最大距离作为青蛙的最小跳远距离. #include <iostream> #include<cstdio> #include<cstring>…
题目连接:http://poj.org/problem?id=2253 题意:给出一个无向图,求一条1~2的路径使得路径上的最大边权最小. 分析:dij将距离更新改成取最大值即可,即dp[i]表示到达i点过程中的最大边权,更新后可能多个,再靠优先队列取出最小的最大边权. 不过好像精度问题,我的代码C++能AC,但G++就不能. #include <cstdio> #include <cstring> #include <string> #include <cmat…
题目链接:http://poj.org/problem?id=2253 就是求所有路径的最大边权值的最小值 处理时每次找出距离当前的已选的节点的最短距离,然后更新每个未选节点的值 代码: #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<cmath> using namespace std; #define maxn 210 #defi…
题意:求点1到点2的路径中,权值最大的那条边,其最小值是多少. 分析:最大值最小化.可以将迪杰斯特拉模板中的松弛操作加以修改,在O(n^2)的时间内解决该问题.其中需要注意的是,dist[i]指的是:走到点i的路径上,权值最大的边权.当每次找到最小的dist[u]之后,松弛操作是:对于点v,若max(d[u],G[u][v])>d[v],那么将d[v]跟新为max(d[u],G[u][v]).也就是说通过u的路径上最大的边权值如果小于的dist[v],显然dist[v]可以变得更小. #incl…
Description Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her, but since the water is dirty and full of tourists' sunscreen, he wants to avoid swimming and…
题目大意: 给出n个岛的坐标,前两个坐标分别为A青蛙和B青蛙所在岛的坐标,A青蛙想到达B青蛙所在的岛,A可以从某一个岛跳到任意其它一个岛上,则A到B的每条路径都有一个跳的最远的距离Xi,求这些最远距离中的最小值. 用dijkstra解决,其中dist[J]为起点到J的所有路径中最长边的最小值. #include <iostream> #include <stdio.h> #include <math.h> #include <algorithm> using…
题意 给你n个点,1为起点,2为终点,要求所有1到2所有路径中每条路径上最大值的最小值. 思路 不想打最短路 跑一边最小生成树,再扫一遍1到2的路径,取最大值即可 注意g++要用%f输出!!! 常数巨大的丑陋代码 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> # include <math.h> # include <al…
最短路径: poj1125 - Stockbroker Grapevine(多源最短路径,floyd) poj1502 - MPI Maelstrom(单源最短路径,dijkstra,bellman-ford,spfa) poj1511 - Invitation Cards(单源来回最短路径,spfa邻接表) poj1797 - Heavy Transportation(最大边,最短路变形,dijkstra,spfa,bellman-ford) poj2240 - Arbitrage(汇率问题,…
原文地址:北大POJ题库使用指南 北大ACM题分类主流算法: 1.搜索 //回溯 2.DP(动态规划)//记忆化搜索 3.贪心 4.图论 //最短路径.最小生成树.网络流 5.数论 //组合数学(排列组合).递推关系.质因数法 6.计算几何 //凸壳.同等安置矩形的并的面积与周长.凸包计算问题 8.模拟 9.数据结构 //并查集.堆.树形结构 10.博弈论 11.CD有正气法题目分类: 1. 排序 1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1…
1.入门水题 可用于练手与增强自信 POJ-1003POJ-1004 POJ-1005 POJ-1207 POJ-3299 POJ-2159 POJ-1083POJ-3094 2.初级 2.1. 基本算法 - 枚举 POJ-1753 POJ-2965 贪心 POJ-1328 POJ-2586 递归和分治法 - 递推 - 构造法 POJ-3295 POJ-3239 模拟法 POJ-1008 POJ-1068 POJ-2632 POJ-1573 POJ-2993 POJ-2996 POJ-3087…
1 推荐题库 •http://ace.delos.com/usaco/ 美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化,全部的题解及标程还有题目翻译可以baidu 一个叫NOCOW 的网站.   •http://livearchive.onlinejudge.org/ 上面有全部的赛区真题,绝大部分都可以提交,不适合当题库刷,不过在这里找题非常方便.   • http://poj.org/ 不解释了,中国最知名的oj,题量非常之大,历史也很悠久,推荐…
点亮技能树行动-- 本篇blog按照分类将网上写的OI知识点归纳了一下,然后会附上蒟蒻我的学习笔记或者是我认为写的不错的专题博客qwqwqwq(好吧,其实已经咕咕咕了...) 基础算法 贪心 枚举 分治 倍增 构造 高精 模拟 图论 图 最短路,次短路 k短路 差分约束 最小生成树 拓扑排序 欧拉图 二分图染色,二分图匹配 最大团,最大独立集 tarjan找scc.桥.割点,缩点 网络流 最大流,最小割,费用流 有上下界的网络流 分数规划 2-SAT 树 LCA 最近公共祖先 树的直径 树的重心…
1. 算法总结及推荐题目 1.1 C++ STL • STL容器: set, map, vector, priority_queue, queue, stack, deque, bitset• STL算法: sort, unique, nth_element, reverse, rotate, next_permution, find, for_each, count, lower_bound, max, swap, random_shuffle 1.2 基本算法 • 枚举: poj1753,…