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