460 1 分钟

# 埃氏筛 时间复杂度 O(N⋅log(log(N)))O(N·log(log(N)))O(N⋅log(log(N))) C++1234567void init(int n) { notPrime[1] = 1; for (int i = 2; i * i <= n; i++) if (!notPrime[i]) for (int j = i * i; j <= n; j += i) notPrime[j] = 1;} # 线性筛(欧拉筛) 埃氏筛在筛的过程中,合数会被重复筛到,引入线性筛(欧拉筛),可以在...
3.9k 4 分钟

# B # 题目大意 给定 nnn 个数 (a1,...,an)(a_1, ..., a_n)(a1​,...,an​),再给一个教练需要的团队最小实力 xxx 一个团队的实力定义为: 团队人数 * 团队中的最小实力 ,如果这个团队的实力 ≥x\ge x≥x,那么就可以组一只队伍 问:最多能组成多少队 # 题解 排序之后,倒着找就好了 对于单人实力 ≥x\ge x≥x 的,单人组队 反之,慢慢往前组队,直到实力 ≥x\ge x≥x 位置 C++123456789101112131415161718192021void solve () { int...
6.4k 6 分钟

指导老师:毛明松 编撰:衷铭川(大数据 231 班,程设协会负责人) 友链:其实连按部就班也比想象中难 江西财经大学信息管理与数学学院编程会、计算机与人工智能学院程序设计竞赛协会 # 基础算法都有什么? 不算基础算法的基础算法:暴力、打表、模拟。 前缀和、差分、二分、双指针、高精度(bushi),位运算(bushi)(后二较少涉及)。 掌握基础算法,针对规模较大的问题,能够提高代码效率,同时,基础算法也是其他进阶算法的基础。 #...
3.7k 3 分钟

# D # 题目大意 有一个无限大的二维网格,在坐标 (0,0)(0,0)(0,0) 处有一堆篝火。 在时间 t=0t=0t=0 ,只有单元格 (0,0)(0,0)(0,0) 存在烟雾。 给你一个长度为 NNN 的字符串 SSS ,由 "N"、"W"、"S"、"E" 组成。在 t=1,2,…,Nt=1,2,\dots,Nt=1,2,…,N 时刻,会依次发生以下情况: 风吹起,当时存在的所有烟雾按如下方式移动: 如果 SSS 的...
2.3k 2 分钟

# 高精度加法 C++12345678910111213141516171819202122232425string add(string a, string b) { vector<int> a, b, c; for (int i = a.size() - 1; i >= 0; i--) a.push_back(a[i] - '0'); for (int i = b.size() - 1; i >= 0; i--) b.push_back(b[i] -...
1.7k 2 分钟

# 什么是二分图? 二分图的结点由两个集合组成,且两个集合内部没有边,如下图所示: # 二分图的性质(等价) 如果对于图中点进行染色,那么每一条边一定连接着一个红色点和一个蓝色点 如果相邻点染色矛盾,则不是二分图 二分图中不存在长度为奇数的环 因为染色性质,每条边都是从一个集合走到另一个集合,要走偶数次才能回到同一个集合 不存在奇数环,一定是二分图 # 怎么判定二分图? 题目传送门 遍历所有点: 如果当前点没被染色,则将该点染成颜色 111,并且 DFSDFSDFS...
1.6k 1 分钟

# E # 题目大意 给定一个长度为 NNN 的序列: A=(A1,A2,...,AN)A = (A_1, A_2, ..., A_N)A=(A1​,A2​,...,AN​) 和 B=(B1,B2,...,BN)B = (B_1, B_2, ..., B_N)B=(B1​,B2​,...,BN​) 。 设 SSS 是大小为 KKK 的 {1,2,…,N}\lbrace1, 2, \dots, N\rbrace{1,2,…,N} 的子集。求以下表达式的最小可能值: (max⁡i∈SAi)×(∑i∈SBi)(\max_{i \in S} A_i)...
5.9k 5 分钟

指导老师:毛明松 编撰:衷铭川(大数据 231 班,程设协会负责人) 友链:其实连按部就班也比想象中难 江西财经大学信息管理与数学学院编程会、计算机与人工智能学院程序设计竞赛协会 # 数据结构训练的意义 在蓝桥杯竞赛中,数据结构训练具有重要的意义。数据结构是算法的基础,掌握常见的数据结构是解决复杂问题的关键。在比赛中,时间和空间复杂度是评分的重要标准之一。通过数据结构训练,可以学会如何选择最优的数据结构来减少时间和空间的开销,从而在比赛中取得更好的成绩。 #...
1.1k 1 分钟

# 卡特兰数可以解决的问题 2n2n2n 个人排队进入剧场,入场费 555 元。其中只有 nnn 个人有 555 元的钞票,另外 nnn 个人只有 101010 元的钞票,问有多少种合法的,能够完成买票 - 找钱的合法排队序列? 有一个 n×nn \times nn×n 的方格图,从 (0,0)(0,0)(0,0) 走到 (n,n)(n,n)(n,n). 每次只能向右或者向上走一单位,不能走过对角线 y = x ,问有多少种方法? 在圆上选择 2n2n2n 个点,将这些点成对连接起来使得所得到的 nnn 条线段不相交的方法数? nnn...
1k 1 分钟

# C # 题意 给定一个序列,任意确定一半和另一半,求两半中,不同数字计数的和。 # 题解 用两个 mapmapmap 记录即可。 c++123456789101112131415161718192021222324252627int n, a[N];map<int, int> l, r; // l r 分别记录左边、右边出现过什么数int cntLeft = 0, cntRight = 0; // 记录左边、右边数的个数int res = 0;void solve () { cin >> n; for (int i...