03 2021 档案

摘要:CodeCraft-21 and Codeforces Round #711 (Div. 2) A题 GCD Sum 原题链接 题意: 给定n, 求最小的x(x>=n)使得gcd(x,sum)>1, sum等于x的各位之和 思路: 暴力 #include <iostre 阅读全文 »
posted @ 2021-03-30 23:29 lhqwd 阅读(60) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #709 (Div. 2, based on Technocup 2021 Final Round) A题 Prison Break 原题链接 题意: 给定一个n×m的方格阵, 要求打通最少的墙, 使得从每个格子出发都可以走到边缘。 思路: 要求从 阅读全文 »
posted @ 2021-03-30 00:26 lhqwd 阅读(69) 评论(0) 推荐(0) 编辑
摘要:Educational Codeforces Round 106 (Rated for Div. 2) A题 Domino on Windowsill 原题链接 题意 给定一个2×n 的网格, 第一行前x个和第二行前y个格子为白色, 其余格子为黑色. 现在给定a个$2 阅读全文 »
posted @ 2021-03-26 13:37 lhqwd 阅读(104) 评论(0) 推荐(0) 编辑
摘要:并查集 基本概念 并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。(摘自百度百科) 基本操作 初始化 将每个结点的父结点初始化为自己, 此时有 n 个集合, 每个集合内有 1 个元素。 根据题目要求, 并查集内可能维护不同内容, 需要 阅读全文 »
posted @ 2021-03-26 13:35 lhqwd 阅读(48) 评论(0) 推荐(0) 编辑
摘要:Codeforces Round #708 (Div. 2) 没有正式参加~~(又划水)~~, 这场比赛unrated。 从比赛结果看, 题目似乎不是很难. A题 Meximization 原题链接 题意: 给定一个数组a, 对该数组重新排序得到b, 使得$\sum_^NMEX(b_{1}. 阅读全文 »
posted @ 2021-03-26 13:34 lhqwd 阅读(55) 评论(0) 推荐(0) 编辑
摘要:有向图的强连通分量 基本概念 连通分量: 对于分量内任意两点uv , 必然可以找到从 u 走到 v 且可以从 v 走到 u. 强连通分量: 极大连通分量(包含点数最多) 强连通分量常用于缩点 Tarjan算法: 基于 DFS : Tarjan算法几个 阅读全文 »
posted @ 2021-03-17 23:55 lhqwd 阅读(139) 评论(0) 推荐(0) 编辑
摘要:最小生成树基础 定义 对于图 G=(V,E), 有 n 个点, m 条边, 由 V 中所有 n 个点和 En1 条边构成的一个连通子图(即一棵树),称为 G 的一个生成树, 边权值最小的为最小生成树. 求解方法: prim算 阅读全文 »
posted @ 2021-03-17 00:25 lhqwd 阅读(76) 评论(0) 推荐(0) 编辑
摘要:单源最短路算法 Dijkstra算法 只能求解非负边权的图中最短路 朴素Dijkstra 常用于稠密图,时间复杂度: O(nm) #include <iostream> #include <queue> #include <cstring> using namespace std; con 阅读全文 »
posted @ 2021-03-17 00:18 lhqwd 阅读(68) 评论(0) 推荐(0) 编辑
摘要:DFS DFS:深度优先搜索,不断向深层搜索,搜索至叶子节点后返回. DFS基础应用: DFS 连通性模型 DFS 搜索顺序 DFS 剪枝与优化 迭代加深 双向DFS IDA* 关于是否回溯: 对于图内的点的搜索,需要对每个点全部遍历一遍时,不需要回溯. 对于图的不同状态进行搜索时,每搜索一个状态结 阅读全文 »
posted @ 2021-03-16 20:46 lhqwd 阅读(61) 评论(0) 推荐(0) 编辑
摘要:BFS 宽度优先搜索: 对每个搜索到的结点向外扩展,每次搜索一层的子节点. 特点: 对于边权相等的图,可以求最短路. BFS基本模板: void bfs() { queue<int> q; st[1] = 1; //从一号点开始 q.push(1); while (q.size()){ int u 阅读全文 »
posted @ 2021-03-16 20:43 lhqwd 阅读(64) 评论(0) 推荐(0) 编辑
摘要:线段树 基本概念: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。(摘自百度百科) 线段树是一种完全二叉树,支持操作: 单点修改, 区间查询 区间修改, 单点查询 区间修改, 区间查询 线段树的基本操作: 建树操作(build): 每次向 阅读全文 »
posted @ 2021-03-16 20:39 lhqwd 阅读(30) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示