分类: ALGORITHM

My Algorithm Learning

103 篇文章

改变数组元素
Original link 思想: 前缀和与差分。 对于 a[i] 的操作,构建差分数组 b[i] 记录被操作的区间。 利用前缀和可知所有被操作的区间,即 b[i] != 0 的区间。 代码: #include <bits/stdc++.h> using namespace std; c…
AC 自动机详解
前置知识 字典树 Trie Trie 是一种能够快速插入和查询字符串的多叉树结构。节点的编号各不相同,根节点编号为0,其他节点用来标识路径还可以标记单词插入的次数。边表示字符。 支持操作 Trie 维护字符串的集合,支持两种操作: 向集合中插入一个字符串:void insert(char *s) 在…
图的存储
1. 邻接矩阵 思想: 利用二维数组 g[N][N] 存储所有的点到点的权值。 其中 N 为点的数量,g[i][j] 表示点 i 到点 j 的权值。 时间复杂度:$\mathcal{O}(n^2)$ 空间复杂度:$\mathcal{O}(n^2)$ 应用: 只在点数不多的稠密图使用。 大部分情况下点…
STL 常用操作
STL 常用操作 1. vector 1.1 声明 #include <vector> // 头文件 vector<int> a; // 相当于一个长度动态变化的int数组 vector<int> b[233]; // 相当于第一维长233,第二位长度动态变化的i…
河南工程学院2022级新生周赛(五)题解
A. HF 的智能小车车 原题链接 描述: 众嗦粥汁,$HF$ 最近天天泡在实验室里做他的智能小车车,但在调试的时候发现控制转向和行进的指令搞混了。这种小事对他来说太简单了,用他的原话说就是:"有手就行",于是他就懒得继续做下去了。 $HF$ 把这个做了一半的车子丢给了 $LYS…
Educational Codeforces Round 137 (Rated for Div. 2)(A~D)
A. Password Origional Link 题目大意: 给定 $n$ 个 $0\sim 9$ 之间不能使用的数字,保证剩余的数大于 $2$。 任意两个数子组合,每个数字可使用两次,组成一个四位密码。 求在剩余的可选数字中,能组成的密码数量。 思想: 签到题。 任意两个数字可组成的密码数量固…