0519 T1:预期:40', 实际:40' 考场:对于每一条链跑最短路 正解:合并后直接树上跑最短路 反思:以为a[x]可以改成负数, 就觉得链的做法没办法合并成树, 之后题意要先弄清, 而且那个很妙的用BFS+并查集维护同一lev中未到达过的点之前没有接触过, 也不太能想到这种, 积累了一个树上 ...
分类:
其他好文 时间:
2020-05-22 09:38:20
阅读次数:
63
题目: 简单错误思路: dfs:每个状态都需要遍历,所以最坏2 ^ 50 ,TLE 类似于01滚动:考虑到空间存不下就没有实际行动,大概率 MLE 正确答案: 类似于第二种状态,不过是状态压缩,原地滚动,每一步都利用上一步的结果,且用0,1表示状态,节省空间,然后扫一遍判断答案数量即可。 思考:DP ...
分类:
其他好文 时间:
2020-05-19 20:27:55
阅读次数:
51
思路: 法1. 本题逆序BFS,从右到左记录每一个level的visited, 但是这样就用了O(n)的额外空间 法2. 官答 1) 左子节点永远指向右子节点 2)右子节点指向 None或者 父节点相邻节点的左子节点 if fatherNode.next: fatherNode.right.next ...
分类:
其他好文 时间:
2020-05-19 12:52:03
阅读次数:
83
一、思维导图 二、重要概念 1.DFS 时间复杂度为 O(n+e) 。 2.BFS 时间复杂度为 O(n+e) 。 3.最小生成树 1)Prim算法 时间复杂度为 O(n n) ,所以更适用于 稠密图 。 2) Kruskal算法 时间复杂度为 O(elog2e) ,所以更适用于 稀疏图 。 4.最 ...
分类:
其他好文 时间:
2020-05-17 21:45:57
阅读次数:
110
现在你总共有 n 门课需要选,记为 0 到 n 1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。 可能会有多个正确的顺序,你只要返回一种就可以 ...
分类:
其他好文 时间:
2020-05-17 01:29:17
阅读次数:
95
大致题意: 求从A楼致B楼要按几次按钮,若到达不了,则输出 1, 第i层上下的楼层数为k[i]层。 基本思路: ~~毒瘤Luogu官方机器人,做梦都能梦到题目~~ 先从A层楼开始~~猛虎下山、潜龙出渊、气吞山河、排山倒海般的~~进行bfs操作, 若是到了B层楼则输出步数,若是队列都出尽了还没到就说明 ...
分类:
其他好文 时间:
2020-05-14 00:53:52
阅读次数:
72
前言 重中之重的一个知识!也是算法设计中非常非常基础的一部分,OI 这么多年一直陪伴在身边,是大部分不能得到正解只求部分分时的最佳选择,通常我们称之为“暴力搜索”,它写起来不伤脑筋,能够处理数据量小的情况,而且有时灵机一动再优化一下,甚至能得到更可观的分数,所以其实就算对算法、理论或者数据结构不太熟 ...
分类:
其他好文 时间:
2020-05-14 00:53:21
阅读次数:
79
大致题意: 计算出在某个点上的马走到其他点上最少要走几步, 走不到的点标记为 1,走到的点标记为最少的步数, 马走“日”字。 基本思路 嗯…直接bfs一波带走就好了。 从原点走“日”字,到一处若没有被标记则标记上, bfs完的时候若是发现此点没有被标记就标记为 1。 Code: ...
分类:
其他好文 时间:
2020-05-13 23:22:50
阅读次数:
54
P1332 血色先锋队 + 题目链接: "https://www.luogu.com.cn/problem/P1332" 涉及知识点: + bfs solution: + $这个题直接用bfs即可,前几天出过bfs的题了,巩固一下$ + $在一开始将a个传染源读入队列,同时记录感染时间为0$ + $ ...
分类:
其他好文 时间:
2020-05-11 13:25:59
阅读次数:
60
AC代码: #include<bits/stdc++.h> #define ll long long #define endl '\n' #define mem(a,b) memset(a,b,sizeof(a)) #define IO ios::sync_with_stdio(false);cin ...
分类:
其他好文 时间:
2020-05-09 21:06:35
阅读次数:
60