最短路
文章平均质量分 54
Dave_L
这个作者很懒,什么都没留下…
展开
-
美团2018校招真题题解 搜索 分层图最短路 前缀和(更新ing
病毒传播思路:应该是比较简单的一道题,因为点数是千数量级的,floyd肯定不行了,看到边数也是1000,这就暗示了要从边下手,直接bfs找每个S集合内的点到各点的最短路这就是O(n*m),S不连通则无满足点,否则寻找S集合内满足以下条件的点:对于S中的点x,到达S中除x外任意点距离 <= t && 到达G-S集合点距离 > t 的点x思路不难,但是也卡了不少时间,...原创 2020-04-18 18:25:15 · 341 阅读 · 0 评论 -
复试机试常用算法复习
最小生成树1.道路建设思路:模板#include <bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;const int AX = 2e2 + 66 ;int a[AX][AX];int dis[AX] ;int vis[AX] ;int c , n , m , x , y , w ;int prim(...原创 2020-04-12 13:48:37 · 751 阅读 · 0 评论 -
牛客-PAT历年真题刷题记录(更毕)
Public Bike Management (30)题目链接本地:F:\nowcoder\pat>题意:0处是管理处,sp处是向管理处报告问题的车站,现要从0处到达sp处,途中路过车站的车辆数目也要调整到M / 2(多的带走继续往下走,少的从0处调拨)给一个带权图(每个点都是一个车站,0是管理处),从0点出发,到给定的sp车站,求最少花费(最短路),若花费相同,则取从0处调拨的车辆...原创 2020-02-15 18:43:57 · 1219 阅读 · 0 评论 -
练习赛6 AB暴力 C组合数学 E莫队 G计算几何 I floyd K线段树+二分
A 题意:每个人有三个值,找出所有满足自己最大的两个值大于所有人最小的两个值的人。 思路:暴力,存所有人最小的值中最大的,和第二小值最大的,分别和每个人最大次大的比较。 Code:#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;algorithm&gt;#define LL long longusing n...原创 2018-07-22 17:39:29 · 340 阅读 · 4 评论 -
练习赛13 A滑动窗口 B dp+树状数组维护前缀和 C博弈 G dfs序+线段树 H思维 Ifloyd J模拟
B题意:给一个数组,求有多少个严格上升的子序列 思路: dp[i]表示以i结尾的上升子序列个数,dp[i] = Σdp[j] + 1 a[i] &amp;amp;amp;amp;gt; a[j] . 先离散化下,然后用树状数组维护前面比他小的 结果的和 , 每次加1然后更新dp[i],最后询问最大的数(离散化后最大为n)的结果。 Code:#include &amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;原创 2018-07-31 17:53:02 · 324 阅读 · 0 评论 -
Bzoj2763 分层图最短路
Bzoj2763题意:在图上,有k次机会可以直接通过一条边而不计算边权,问起点与终点之间的最短路径。 思路:类似于求最短路经,但由于可以有k次机会不计算边权,所以需要加上一维状态表示用了几次机会。Code:#include <bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;const int AX =...原创 2018-09-01 19:23:55 · 446 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 A签到 E状压dp I回文自动机维护回文串值 J 预处理 L 分层图最短路
A 思路:输出n-1 Code:#include &amp;amp;lt;bits/stdc++.h&amp;amp;gt;#define LL long long using namespace std;int main(){ int T; cin &amp;amp;gt;&amp;amp;gt; T; LL n ; while( T-- ){ c原创 2018-09-01 22:02:02 · 189 阅读 · 0 评论 -
搜索专题-A*算法初学(求第K短路)
思路:A*算法裸题Code:#include &amp;lt;bits/stdc++.h&amp;gt;#define INF 0x3f3f3f3fusing namespace std;const int AX = 1e5+66;const int MAXN = 1e3+66;int n , m , k;int s ,t ;int tot ;int retot ;struct ed...原创 2018-06-04 18:52:59 · 535 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛 D A*算法 F 有上下界的网络流 G分解质因数+公式 容斥 I 模拟 K讨论
D 题意:找是否存在第k短路且判断长度是否小于等于T。 思路:A*算法裸题。#include &amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;gt;#define INF 0x3f3f3f3fusing namespace std;const int AX = 1e5+66;const int MAXN = 1e4+66;int n , m , k;int s ,t ;int tot...原创 2018-09-09 09:44:45 · 501 阅读 · 1 评论 -
牛客国庆集训派对Day1 A思维 C暴力 E贪心 L最短路
ACode:#include <bits/stdc++.h>using namespace std;const int AX = 1e6 + 66;int a[AX] ;map<int,int>mp; int main(){ int a, b, c, d , e , f ; cin >> a >> b >> c >...原创 2018-10-01 19:53:28 · 334 阅读 · 0 评论 -
codeforces.com/gym/101873/problem/C 分层图最短路
GYM-C题意:要求花费x时间,从1出发回到1,每个点会花费不同时间,不同金钱,每点间会有人行道花费t时间,不花钱,要求花钱最少且花费x时间回到1.思路:分层图最短路。Code:#include &lt;bits/stdc++.h&gt;#define INF 0x3f3f3f3fusing namespace std;const int AX = 1e3 + 66 ;struct...原创 2018-10-29 09:07:54 · 634 阅读 · 0 评论 -
练习赛5
A 题意:给一个算式(加法),用字母代表的,每个字母代表一个0-9的数字,问能够使等式成立的赋值方法有几种。 思路:暴力给每一个字母赋值。 Code:#include <bits/stdc++.h>#define LL long longusing namespace std;const int AX = 1e3+66;char s[AX][AX];map<i...原创 2018-07-21 17:12:24 · 170 阅读 · 0 评论 -
练习赛11 A-01背包 C暴力 D并查集+优先队列 F大数 G期望 (随机游走)H最短路变形
A 思路:01背包,尽可能装满背包,并且价值最大。只需要加上一个判断条件,保证每次都能够将 j 值装满。 Code:#include &amp;lt;bits/stdc++.h&amp;gt;#define LL long long#define INF 0x3f3f3f3fusing namespace std;const int AX = 1e6+66;int v[AX];LL w[AX]...原创 2018-07-29 17:42:19 · 326 阅读 · 0 评论 -
hihocoder1089
#1089 : 最短路径·二:Floyd算法时间限制:10000ms单点时限:1000ms内存限制:256MB描述万圣节的中午,小Hi和小Ho在吃过中饭之后,来到了一个新的鬼屋!鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间互相有一些道路连通,两个地点之间可能有多条道路连通,但是并不存在一条两端都是同一个地点的道路。由于没有原创 2017-07-22 19:33:43 · 381 阅读 · 0 评论 -
hihocoder1093 SPFA算法模板
一:背景SPFA(Shortest Path Faster Algorithm)算法,是西南交通大学段凡丁于 1994 年发表的,其在 Bellman-ford 算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。二:算法过程设立一个队列用来保存待优化的顶点,优化时每次取出队首顶点 u,并且用 u 点当前的最短路径估计值dist[u]对与 u 点邻接的顶点原创 2017-07-22 21:23:05 · 404 阅读 · 0 评论 -
最短路 (含队列优化的dijstra)- - 模板
void dji(int v0){ //v0:初始点 int pos = v0; for(int i=1;i<=n;i++){ dist[i] = map[v0][i]; //dist[]数组存储各点到初始点的距离 } vis[pos] = 1; //vis[]数组标记是否已经找到到一个点最短路 for(int i原创 2017-05-06 18:51:22 · 412 阅读 · 0 评论 -
Dijkstra floyd算法
参考:Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V原创 2017-07-02 11:56:58 · 487 阅读 · 0 评论 -
51NOD1459 迷宫游戏
1459迷宫游戏基准时间限制:1 秒 空间限制:131072 KB 分值:0难度:基础题你来到一个迷宫前。该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数。还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间。游戏规定了你的起点和终点房间,你首要目标是从起点尽快到达终点,在满足首要目标的原创 2017-08-01 15:32:13 · 317 阅读 · 0 评论 -
POJ3662
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.原创 2017-08-01 20:22:30 · 520 阅读 · 0 评论 -
poj1124 Oh, Those Achin' Feet dfs+bfs最短路
Oh, Those Achin' FeetTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 490 Accepted: 131DescriptionIn recent days, a number of people have been injured afte原创 2018-01-14 10:11:21 · 431 阅读 · 0 评论 -
1649 齐头并进 两次最短路
1649 齐头并进题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注在一个叫奥斯汀的城市,有n个小镇(从1到n编号),这些小镇通过m条双向火车铁轨相连。当然某些小镇之间也有公路相连。为了保证每两个小镇之间的人可以方便的相互访问,市长就在那些没有铁原创 2018-02-09 17:19:52 · 409 阅读 · 0 评论 -
暑期集训-Benelux Algorithm Programming Contest 2014 Final 解题报告
B. Button Bashing 题目链接:https://nanti.jisuanke.com/t/28312 题意:给n个按钮,每个可以按无数次,每按一次按钮增加或者减少一些时间,问如果能得到给定的时间,则输出最少次数和0,不能的话输出最少次数+大于给定时间的最小的时间与给定时间的差。 思路: t最多只有3600,所以可以求出每个时刻按下每个按钮后达到的所有时间。然后以这些时间为节...原创 2018-07-11 17:20:00 · 274 阅读 · 0 评论 -
练习赛3 B组合 C multiset D set G 计算几何矩形面积交/并 H模拟 I 组合数公式+逆元 J搜索 K添加限制条件的最短路
B. 题目链接:https://hihocoder.com/problemset/problem/1509 题意:给定一个长度为 n 的非负整数序列 a[1..n] 你需要求有多少个非负整数 S 满足以下两个条件: (1).0 ≤ S &amp;amp;amp;lt; 260 (2).对于所有 1 ≤ i &amp;amp;amp;lt; n ,有 (a[i] xor S) ≤ (a[i+1] xor S)思路:遍历每一对,找每一...原创 2018-07-18 17:41:48 · 361 阅读 · 0 评论 -
暑期集训-German Collegiate Programming Contest 2015 解题报告
B. Bounty Hunter II 题目链接:https://nanti.jisuanke.com/t/18486 题意:给定几个点及其边,问派几个人可以遍历这些点,前提是每个点只能一个人走。 更为清晰的说法是题解中的: Given a DAG with N nodes find the minimum number of vertex-disjoint paths ...原创 2018-07-13 13:32:45 · 511 阅读 · 0 评论 -
Floyd求最小环
u,k , v 确定时,经过其的最短路径就是 u 到 v 不经过k的路径加上u到k的和k到v的。先贴个模板。 Code:#include <bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;const int AX = 1e2+66;int G[AX][AX];int dis[AX][AX];int ...原创 2018-07-26 11:07:36 · 302 阅读 · 0 评论 -
hihocoder1081
#1081 : 最短路径·一时间限制:10000ms单点时限:1000ms内存限制:256MB描述万圣节的早上,小Hi和小Ho在经历了一个小时的争论后,终于决定了如何度过这样有意义的一天——他们决定去闯鬼屋!在鬼屋门口排上了若干小时的队伍之后,刚刚进入鬼屋的小Hi和小Ho都颇饥饿,于是他们决定利用进门前领到的地图,找到一条通往终点的最短路原创 2017-07-22 18:58:56 · 462 阅读 · 0 评论