UOJ#494K点最短路】的更多相关文章

#include <cstdio> #include <iostream> #include <cstring> #include <queue> #define N 100007 #define Q 100000000007 using namespace std; int n, m, k, s, t, spe[15], tot, ls[N], cnt; long long ans, dis[N], d[15][15]; bool b[N], v[40];…
原文链接http://www.cnblogs.com/zhouzhendong/p/8682133.html 题目传送门 - BZOJ4456 题目传送门 - UOJ#184 题意 $n\times m$的网格图$q$次询问两个格子之间的最短路. $n\times m\leq 2\times 10^4,q\leq 10^5$且任何两个相邻格子之间的路径长度$\leq 10^4$. 题解 考虑分治. 对于当前网格图以及起点和终点都在当前网格图内的询问进行处理. 考虑把当前网格图的长边作为分治对象.…
UOJ j19 寻找道路 在有向图G中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到终点的最短路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通. *解法:反着建图,从终点bfs找能到达的点标记 在找一遍所有点中 如果某个点的入度点没做过标记 那么这个点就要被刨除 剩下的点中找最短路 #include <iostream> #include <cstdio> #include <cstring> #include <…
手动博客搬家: 本文发表于20181208 14:39:01, 原地址https://blog.csdn.net/suncongbo/article/details/84891710 哇它居然显示出图片来了--感动啊w 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=4739 http://uoj.ac/problem/277 不难得出一个结论: 两圆之间最短路一定沿着圆的公切线走.然后得到如下算法:每两个圆之间作公切线(4条),如果…
[UOJ#32][UR #2]跳蚤公路(最短路) 题面 UOJ 题解 不难发现要求的就是是否存在负环.也就是我们只需要找到所有的负的简单环,很容易就可以想到维护路径上和\(x\)相关的内容,即维护一下\(u\)到\(v\)路径上,含有\(kx\)的路径的最小的\(b\).这个可以用\(Floyd\)在\(O(n^5)\)的复杂度中求解.这样子我们用\(f[u][u][k]\)就知道了一个包含了\(u\)的,且\(x\)系数为\(k\)的最小的环,求出其负环的值域范围,接着其能够到达的所有点都会收…
http://uoj.ac/contest/35/problem/244 对其他人来说好简单的一道题,我当时却不会做TWT 注定滚粗啊 题解很好的~ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; const int N = 100003; ll in() { ll k = 0, fh = 1; char c= getcha…
题目 orz myy 这个矩形对称的性质非常优美,所以我们只需要考虑一个\(\frac{1}{4}\)的矩阵,即一个倒三角形 现在我们要求的是从\((1,1)\)到三角形对边上每个点的最短路,不难发现如果一个某一行不是前缀最小值那么一定不可能成为最优答案,我们可以直接从上面一行跑掉而不走这一行 于是我们的路径就是一些\(L\)形拼了起来,对于非前缀最小行我们只可能经过上面的一个点:正确性比较好理解,我们可以通过在上一个前缀最小行多经过一些点来代替 所以我们的策略肯定是在一个前缀最小行往右边走,直…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ53.html 题意 给定一棵有 n 个节点的树. 每一个点有一个权值. 对于每一个 $i$ 给定三个参数 $a_i,b_i,c_i$ ,从第 $i$ 个点出发下一步能到达的点 x 需要满足以下三个要求之一: 1. x 在 $a_i$ 到 $b_i$ 的简单路径上. 2. x 在 $a_i$ 到 $c_i$ 的简单路径上. 3. x 在 $c_i$ 到 $b_i$ 的简单路径上. 问从任意一个点出发,经过…
题目描述 给出 $(2n+1)\times (2n+1)$ 个点,点 $(i,j)$ 的权值为 $a[max(|i-n-1|,|j-n-1|)]$ ,找一条从 $(1,1)$ 走到 $(2n+1,2n+1)$ 的路径,使得经过的点(包括起点和终点)权值和最小.求这个权值和. 输入 第一行一个正整数 $n$ . 第二行 $n+1$ 个正整数 $a[0],a[1],…,a[n]$ ,表示从内到外每层的中继器的延时值. 输出 输出一行一个数表示改造后的最短引爆时间. 样例输入 99 5 3 7 6 9…
http://www.lydsy.com/JudgeOnline/problem.php?id=4456 http://uoj.ac/problem/184 参考(抄)的晨爷的题解(代码) 对矩形进行分治. 每次对一个分治中的矩形,枚举中轴线上的点,依次做dijkstra,范围是该矩形内的点. 处理出中轴线上的点到矩形内所有点的最短路,这样,两点在该矩形内的询问就可以用$dist+dist$更新了,意义是两点经过该中轴线的最短路. 在把矩形劈成两半,把询问也分成两半,递归分治. 因为两点间的最短…