算法竞赛
文章平均质量分 79
各种算法竞赛的知识点,蓝桥杯,icpc,acm等
feng**
这个作者很懒,什么都没留下…
展开
-
2022第十三届蓝桥杯决赛C/C++大学A组-C题内存空间
蓝桥杯原创 2023-01-11 12:42:21 · 930 阅读 · 0 评论 -
leetcode357- 2812. 找出最安全路径
这个题比较经典,可以用多个算法来求解,分别给出各个算法的求解方法,主要是分为第一部分的多源BFS求每个位置的距离和第二部分求(0,0)到(n-1,n-1)的最短路径(可以用多种方法求)原创 2023-08-10 22:12:57 · 298 阅读 · 0 评论 -
多源BFS
思路分析:这个题的关键就在于模拟出来一个超级汇点,对于每个村庄来说,目的地都是一个商店,具体是哪一个商店是不要求的,只需要找到最近的一个商店,也就是找到到这些商店集合的最短路径,虚拟出来一个超级汇点,到这些商店的路径都为0,这样每个村庄到达集合的最短路径其实就是到达这个超级汇点的最短路径了,也就相当于是这个超级汇点到每个点的最短路径,进行一次dijstra就行,也就简化成了求点到点的最短路径。题目连接:https://www.acwing.com/problem/content/1490/原创 2023-08-10 22:11:10 · 242 阅读 · 0 评论 -
并查集--带权并查集
并查集,树,带权并查集原创 2022-01-20 21:08:35 · 1297 阅读 · 0 评论 -
数论-质数
质数原创 2023-03-17 10:57:35 · 366 阅读 · 0 评论 -
数论 - 约数 - 公式
约数原创 2023-03-21 09:17:41 · 168 阅读 · 0 评论 -
数学知识的一些常用公式
数学公式原创 2023-03-26 11:02:59 · 223 阅读 · 1 评论 -
递推-算法
递推算法原创 2023-03-12 10:13:44 · 169 阅读 · 0 评论 -
线段树--RMQ问题
区间最值问题原创 2023-02-13 21:15:44 · 375 阅读 · 0 评论 -
RMQ--区间最值问题
RMQ区间最值问题原创 2023-02-11 16:54:34 · 744 阅读 · 0 评论 -
leetCode周赛-328
LeetCode周赛原创 2023-01-16 22:11:58 · 902 阅读 · 0 评论 -
贪心-推公式-特殊排序
算法原创 2023-01-11 17:24:50 · 211 阅读 · 0 评论 -
树上差分-LCA
树上差分与LCA原创 2023-01-09 12:35:04 · 310 阅读 · 0 评论 -
算法竞赛中树和图的数据结构表示
树和图原创 2023-01-04 17:20:54 · 100 阅读 · 0 评论 -
二进制优化问题
二进制优化原创 2023-01-04 17:18:27 · 451 阅读 · 0 评论 -
LCA最近公共祖先
LCA原创 2023-01-04 17:07:28 · 523 阅读 · 0 评论 -
HBCPC2022-河北省大学生程序设计竞赛
HBCPC原创 2022-12-23 21:28:13 · 3123 阅读 · 4 评论 -
csp-202209
csp认证简单题题解原创 2022-12-23 21:16:16 · 511 阅读 · 0 评论 -
leetCode周赛-317
LeetCode周赛原创 2022-12-23 16:08:05 · 687 阅读 · 0 评论 -
HBCPC2021-河北省大学生程序设计竞赛-部分题解
HBCPC原创 2022-10-21 15:27:43 · 1284 阅读 · 0 评论 -
KMP-字符串匹配
KMP算法原创 2022-10-06 15:52:41 · 105 阅读 · 0 评论 -
csp-202112
csp简单题解原创 2022-09-17 10:41:58 · 95 阅读 · 0 评论 -
csp-202203
csp简单题解原创 2022-09-06 19:06:45 · 470 阅读 · 0 评论 -
PTA--球队“食物链”--《DS&A课程实践》第二次算法练习
球队食物链一、 题目二、题目分析三、源代码一、 题目二、题目分析需要用图的数据结构,并且是有向图采用邻接表简单一些,邻接表可以自己实现,也可以用STL的map+vector实现,个人比较喜欢用vector数组实现,简单方便,但是题中的图可能出现重复的有向边,我们又不需要,并且最终我们要找字典序最小的环,则最开始就给边去重并且给边表序列从小到大排序,所以采用set容器(自动排序和去重)题目翻译一下就是在图中找一个包含了所有结点的有向环直接想法就是DFS,但是普通的dfs直接一次性遍历完所有结点最原创 2022-02-23 11:27:00 · 279 阅读 · 0 评论 -
2022年第十三届蓝桥杯大赛软件类决赛C/C++大学B组(国赛)题解
蓝桥杯原创 2022-07-18 09:11:11 · 3610 阅读 · 2 评论 -
2022第十三届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组
蓝桥杯原创 2022-08-12 16:45:45 · 759 阅读 · 0 评论 -
dp-0/1背包变题
一、最简单的求两个子集和差值最小题目链接:https://www.lintcode.com/problem/724/变相的0/1背包问题这个题考一点思维能力,两部分的差值绝对值最小,那就要让两部分的和最接近,最理想的状态肯定是两部分和刚好相等,差值为0。但是如果满足不了,则尽可能往那儿靠,就是在背包容量为sum/2的时候让S1最大化地装东西,这就转化成了0/1背包问题AC代码:#include<bits/stdc++.h>using namespace std;int num[1原创 2022-03-28 22:28:36 · 307 阅读 · 0 评论 -
PTA病毒溯源--《DS&A课程实践》第二次算法练习
病毒溯源一、题目二、解题分析三、详细代码四、注意事项一、题目二、解题分析1.运用数据结构,树,题目主要需要通过孩子找双亲,所以采用用数组实现的双亲表示法,数组下标为病毒编号,数组值为下标病毒的父病毒2.遍历每一个病毒,从该病毒开始逆向溯源到根病毒,逆向遍历过程中将途径病毒push到vector数组中3.准备两个vector数组,一个存结果要求的字典序最小的序列,一个存当前遍历序列,并不断更新结果序列三、详细代码#include<bits/stdc++.h>using names原创 2022-02-23 10:47:03 · 1259 阅读 · 0 评论 -
csp-201903
csp201903的简单题解原创 2022-02-25 10:49:34 · 246 阅读 · 0 评论 -
csp-202206
csp的简单题题解原创 2022-09-04 15:21:42 · 510 阅读 · 0 评论 -
高精度计算,大整数加、减、乘、除、阶乘、阶乘和
大整数运算大整数运算的来源大整数加法大整数减法大整数乘法大整数除法大整数阶乘大整数阶乘和大整数运算的来源常用的数据类型及其表示范围 :UInt32/unsigned int: 0~4294967295Int32/int: -2147483648~2147483647Int64/long long: -9223372036854775807~9223372036854775808UInt64/unsigned long long:0 ~18446744073709551615float: -3原创 2022-01-22 18:51:26 · 637 阅读 · 0 评论 -
二分算法模板
二分查找查找指定元素查找小于等于指定数的最大值查找大于等于指定数的最小值二分查找简单变形题目二分查找算法,简单来说就是每次得到一个有序数列的中间数,时间复杂度为O(1),然后和目标值比对,如果该中间值比目标值小的就在中间值的右边查找,大的话就在中间值的左边查找,时间复杂度为O(logn)。是最初级的算法,就算是10亿的数据量,也只需要十几次计算就可以搞定。需要掌握最基本的查找某个数,再掌握用二分法查找的简单变形题目下面给出三种基本二分查找模板三种情况下,mid的赋值都为 mid=left+(rig原创 2021-11-25 16:33:38 · 478 阅读 · 0 评论 -
编程比赛常见赛制
常见赛制及规则ACM赛制每道题提交之后都有反馈,可以看到“通过”、“运行错误”、“答案错误”等等结果,但看不到错误的测试样例(leetcode周赛可以看到),每道题都有多个测试点,每道题必须通过了所有的测试点才算通过。每道题不限制提交次数,但没通过的话会有罚时,仅以最后一次提交为准,未正确解答的试题不记时。比赛过程中一般可以看到实时排名,通过题数相同的情况下按照答题时间+罚时来排名。ACM赛制的比赛:ICPC、CCPC、codeforces比赛、leetcode周赛及全国编程大赛、牛客小白赛练习赛挑战原创 2022-04-08 19:51:52 · 1109 阅读 · 0 评论 -
dp动态规划-分类型(题目总结)
动态规划类型常见的动态规划类型坐标型动态规划序列型动态规划划分型动态规划区间型动态规划常见的动态规划类型坐标型动态规划(20%) 重点序列型动态规划(20%) 重点划分型动态规划(20%) 重点区间型动态规划(15%) 重点背包型动态规划(10%)最长序列型动态规划(5%)博弈型动态规划(5%)综合性动态规划(5%)坐标型动态规划题目描述:给定m行n列的网络,有一个机器人从左上角(0,0)出发,每一步可以向下或者向右走一步网络中有些地方有障碍,机器人不能通过障碍格,障碍格处原创 2021-10-17 09:18:39 · 322 阅读 · 0 评论 -
动态规划DP
DP动态规划DP初识哪些题目适合用DP算法解决?DP关键步骤DP典型基础案例案例一、最长递增子序列(LIS)问题案例二、硬币面值和案例三、Unique PathsDP初识哪些题目适合用DP算法解决?1.满足最优子结构大问题可以由小问题推出,大问题与小问题求解思路一致(相当于递归思路)2.满足无后效型一旦f(n)确定,后续我们直接调用它的值就可以,而不用关心它是怎样过来的例:(1)计数:–有多少种方式走到右下角–有多少种方法选出k个数使得和是sum(2)求最大最小值:–从左上角走到右下原创 2021-09-12 22:21:57 · 351 阅读 · 0 评论 -
欧几里得算法和扩展欧几里得算法
欧几里得算法和扩展欧几里得算法原创 2022-03-16 21:31:44 · 307 阅读 · 0 评论 -
备战蓝桥--GCD和LCM(进阶)
进阶版的GCD和LCM特殊注意事项gcd最大公约数基本案例性质代码实现LCM最小公倍数应用特殊注意事项gcd:最大公约数lcm:最小公倍数其他定义就省略了,自己查查吧gcd最大公约数基本案例gcd( 15 , 81 ) =3gcd ( 0 , 44 ) = 44gcd( 0 , 0 ) =0gcd ( -6 , -15 ) = 3 两个负数的最大公约数为正数gcd( -17 , 289 ) = 17 一正一负也得正数性质(1)gcd(a,b) = gcd(a,a+b) =gcd(a原创 2022-02-18 18:35:28 · 8576 阅读 · 0 评论 -
备战蓝桥杯--双指针和三指针(尺取法)
尺取法双指针的应用三指针的应用尺取法定义:将i,j两重循环,转化为一个循环,但是要满足j于i有关系(j依赖于i),主要是为了降低算法的复杂度,减少循环的使用双指针的应用1.反向扫描:一左一右,同时向中间走,两者满足某些条件时进行操作2.同向扫描:i、j方向相同,速度不同,i、j之间在序列上产生了一个大小可变的“滑动窗口”,窗口大小不断变化,伸缩前进注意窗口的大小不是固定不变的,一定是不断伸缩的反向扫描案例:快速排序正向扫描案例:两个有序子列的归并三指针的应用当数组有重复数字时用三指针,i是原创 2022-01-14 20:49:02 · 3622 阅读 · 0 评论 -
备战蓝桥杯--快速幂、矩阵快速幂、逆元
矩阵快速幂快速幂实现方法递归实现思路和方法非递归实现快速幂快速幂的应用一、费马小和快速幂求逆元二、矩阵快速幂快速幂实现方法待解决的基本问题:给你a,b,p 求a^b % p , a,b,p<=10^9此时a b p均在int 范围内,用int表示如果用简单循环累乘的方法,时间复杂度为O(N),基本上就运行超时了int ans=1; for(int i=0;i<b;i++) { ans=ans*a%p; //循环累乘,会超时 }快速幂就原创 2022-01-27 12:55:16 · 6262 阅读 · 0 评论