
算法基础
文章平均质量分 64
Milo2323
%5的改变
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Acwing第50场周赛B题
题目:选区间 给定 n个一类区间 (l1, i, r1, i)。 给定 m个二类区间 (l2, i, r2, i) 。 请你从一类区间中挑选一个区间,从二类区间中挑选一个区间。 要求,选出的两个区间之间的距离尽可能大。 请你输出最大可能距离。 关于两区间 (l1,r1)和 (l2,r2) 之间的距离,我们规定: 如果两区间存在交集,则区间距离为00。 如果两区间不存在交集,则区间距离为|i−j|的最小可能值,其中l1 ≤ i ≤ r1, l2 ≤ j...原创 2022-05-09 23:55:01 · 181 阅读 · 0 评论 -
AcWing52.数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 假设数组非空,并且一定存在满足条件的数字。 思考题: 假设要求只能使用O(n) 的时间和额外O(1) 的空间,该怎么做呢? 数据范围 数组长度 [1,1000]。 样例 输入:[1,2,1,1,3] 输出:1 思想: 思想:减治法 1、要查找的键值一定是众数, 即,任意两个数不相同的数 成对删除,最后留下的数一定是众数 2、真正的众数的数量一定大于所有其他数的数量,当众数候选者的数量和其他数的数量相等...原创 2022-05-12 01:36:39 · 162 阅读 · 0 评论 -
语法基础课
语法基础课原创 2022-07-19 22:41:07 · 694 阅读 · 0 评论 -
最小生成树——Prim算法
题目:AcWing 858. Prim算法求最小生成树 给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G=(V,E),其中 V 表示图中点的集合,E 表示图中边的集合,n=|V|,m=|E|。 由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树,其中边的权值之和最小的生成树被称为无向图 G 的最小生成树。 输入原创 2022-05-12 16:09:43 · 1448 阅读 · 2 评论 -
ACM第二周训练
C题——子段求和 给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。 例如,1 3 7 9 -1,查询第2个元素开始长度为3的子段和,1 {3 7 9} -1。3 + 7 + 9 = 19,输出19。 Input 第1行:一个数N,N为数组的长度(2 <= N <= 50000)。 第2 至 N + 1行:数组的N个元素。(-10^9 <= N[i] <= 10^9) 第N + 2行:1个数Q,Q为查询的数量。 第N + 3 至 N + Q原创 2022-01-06 03:20:37 · 263 阅读 · 0 评论 -
ACM第一周训练
A题 你的任务是计算a + b. 太容易了?!答案是肯定的!我专门为acm初学者设计了这个问题。 你一定发现有些问题与这个问题具有相同的标题,是的,所有这些问题都是为同一目的而设计的。 输入 输入将由一系列整数 a 和 b 对组成,以空格分隔,每行一对整数。 输出 对于每对输入整数 a 和 b,应在一行中输出 a 和 b 的总和,并在输入中的每一行输出一行。 Sample Input 1 5 10 20 Sample Output 6 30 #in原创 2022-01-03 22:25:07 · 4566 阅读 · 2 评论 -
郑州大学“战役杯”Day1
郑大战疫杯:我的账本、等待做核酸原创 2022-05-10 00:33:07 · 1216 阅读 · 0 评论 -
第五讲——动态规划
背包问题,线性DP,区间DP,计数类DP,数位统计DP,状态压缩DP,树形DP,记忆化搜索原创 2022-07-01 21:23:21 · 1123 阅读 · 3 评论 -
数学知识——素数回文
题目描述 小王对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在小王想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100,000,000); 输入 输入a和b(5 <= a < b <= 100,000,000) 输出 按从小到大输出a,b之间所有满足条件的素数回文数 样例输入 5 500 样例输出 5 .原创 2022-05-16 21:25:17 · 1238 阅读 · 1 评论 -
数学知识——试除法判定质数
算法基础课第四讲——数学知识——质数 题目:866.试除法判定质数 给定 n 个正整数 ai,判定每个数是否是质数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个正整数 ai。 输出格式 共 n行,其中第 i行输出第 i个正整数 ai是否为质数,是则输出 Yes,否则输出 No。 数据范围 1≤n≤100, 1≤ai≤231−1 输入样例: 2 2 6 输出样例: Yes No 素数题真的很容易超时 传统写法: 1、 fo...原创 2022-05-17 19:51:19 · 417 阅读 · 2 评论 -
第四讲——数学知识
博弈论原创 2022-07-19 19:08:13 · 445 阅读 · 0 评论 -
模拟栈(C++)
用数组来模拟栈原创 2022-09-29 16:50:09 · 1122 阅读 · 0 评论 -
算法基础课
DFS,BFS,树与图的深度优先遍历,树与图的广度优先遍历,拓扑排序,Dijkstra,bellman-ford,spfa,Floyd,Prim,Kruskal,染色法判定二分图,匈牙利算法等原创 2022-08-20 17:16:12 · 3704 阅读 · 0 评论 -
双链表(C++)
双链表(C++)原创 2022-09-28 21:52:47 · 666 阅读 · 0 评论 -
单链表(C++)
C++实现单链表原创 2022-09-26 08:18:03 · 909 阅读 · 2 评论 -
排序(归并和快排)
如果其中一边递归完了,将另一边剩下的数都放入tmp中。最后for循环将tmp赋值给q,输出q。放入tmp后面,i++ ,如果。:将比基准数x大的数全放到x的。,小于等于基准数x的数放到x的。不要写错,写错一个边界就凉凉。1、先从数列中取出一个数作为。放入tmp后面,j++,直到各区间只有一个数。1、将数组q由mid。原创 2024-01-03 16:19:54 · 423 阅读 · 0 评论 -
基础算法——高精度(vector实现)
高精度可以实现大数的运算 高精度的整体思想就是 模拟竖式加减乘除 一、高精度整数加法 代码: #include<iostream> #include<vector> using namespace std; vector<int> add(vector<int>& A, vector<int>& B) { vector<int> C; int t = 0; //t表示进位 for (int i ..原创 2022-05-13 14:03:15 · 448 阅读 · 3 评论