题目描述 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 输入输出格式 输入格式: 第一行:n;2≤n≤200000 接下来n行:每行两个实数:x y,表示一个点的行坐标和列坐标,中间用一个空格隔开。 输出格式: 仅一行,一个实数,表示最短距离,精确到 ...
分类:
其他好文 时间:
2018-11-06 16:45:03
阅读次数:
258
首先,我将说说什么是图(它们不涉及X轴和Y轴),在我所知道的算法中,图算法应该是最有用的。再介绍第一种图算法——广度优先搜索(breadth-first search,BFS)。 广度优先搜索让你能够找出两样东西之间的最短距离,不过最短距离的含义有很多!使用广度优先搜索可以: 编写国际跳棋AI,计算 ...
分类:
其他好文 时间:
2018-11-06 13:30:16
阅读次数:
203
传送门 显然的分层图 设 dis [ i ] [ j ] 表示到点 i , 已经建立了 j 条高速公路的最短距离 然后转移每次都分建立高速公路和不建立高速公路两种情况 跑Djikstra ...
分类:
其他好文 时间:
2018-10-30 11:20:12
阅读次数:
134
"【模板】单源最短路径(标准版)" 别问我为啥现在才学这个算法, 其实我是真的懒. 原理 一开始整张图没有边, 只有一个起点, 设它的距离向量为1. 更新与起点有连边的点的距离向量. 取目前距离向量最小的点, 更新与它相连的点的距离向量. (可以证明这个距离相连最小的点其距离一定是起点与它的最短距离 ...
分类:
编程语言 时间:
2018-10-26 17:54:23
阅读次数:
180
传送门 思路: 二分跳跃的最短距离 mid 。暴力判断如果有两个石头直接的距离小于 mid ,就把这个石头拿走。如果拿走的石头数目 cnt ≤ m,说明二分的答案可行,ans = mid,接着二分更短的跳跃距离。 Code: ...
分类:
其他好文 时间:
2018-10-26 16:30:03
阅读次数:
114
建出最短路图之后$topsort$即可。 具体思路: 先用$dijkstra$算法在原图中跑出$1$号点到$i$号节点的最短距离$dist_1(i)$,将所有边反向后用$dijkstra$算法求出$i$号点到$2$号点的最短距离$dist_2(i)$; 再沿着最短路径找到从$1$号点到$i$号点的方 ...
分类:
其他好文 时间:
2018-10-24 22:01:29
阅读次数:
184
题目描述 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 输入输出格式 输入格式: 第一行:n;2≤n≤200000 接下来n行:每行两个实数:x y,表示一个点的行坐标和列坐标,中间用一个空格隔开。 输出格式: 仅一行,一个实数,表示最短距离,精确到 ...
分类:
其他好文 时间:
2018-10-19 22:43:17
阅读次数:
213
3170: [Tjoi2013]松鼠聚会 Description 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1。现在N个松鼠要走到一个松鼠家去,求走过的最短距离。 有N个小松鼠,它们的家用一个点x,y表示,两个点的 ...
分类:
其他好文 时间:
2018-10-19 10:16:46
阅读次数:
160
此题还有LCA+tarjin离线查询做法,详见这里 关于ST表 解决RMQ问题,dp[i][j]表示从第i位开始长度为(1<<j)的区间的最值 维护的时候采用倍增思想,维护dp[i][j+1]=opt(dp[i][j],dp[i+(1<<j)][j]) 查询的时候,两端点为l,r,则长度len=r- ...
分类:
其他好文 时间:
2018-10-17 11:12:11
阅读次数:
177
首先floyd求出来每两点间的最短距离,然后再求出来从某点买再到某点卖的最大收益 问题就变成了找到一个和的比值最大的环 所以做分数规划,二分出来那个答案r,把边权变成w[i]-r*l[i],再做spfa判正环就行了 (本来想偷懒用floyd判正环,结果T了) ...
分类:
其他好文 时间:
2018-10-13 10:55:47
阅读次数:
151