算法竞赛
文章平均质量分 89
天赐细莲
B站关注:天赐细莲
展开
-
算法笔记(个人用)(不定期更新)
文章目录前言说明Note文档编辑相关语言特性相关 (C/C++)输出数组最后一个元素后面无空格二分查找函数rand() 范围算法相关排序区间求和题单基础数学素数素数判断素数筛朴素筛选 (埃式筛)朴素筛选优化线性筛 (欧拉筛)闰年判断蔡勒(Zeller)公式GCD10转R进制卡特兰数完美数分解因数欧几里得-欧拉定理数根[1~n] 中完全平方数的个数计算Π pia二分查找顺序序列找唯一值逼近类二分容斥原理位运算整形存储大小intlong long`__builtin_函数`取模自动取模工具类除法取模判断奇偶统计原创 2021-03-23 22:35:02 · 2339 阅读 · 4 评论 -
【题单】(树) 树的基础遍历搜索
lc楼主主页-天赐细莲首先明确树是一种特殊的图。常用的图的遍历方式为bfs或dfs。这同样也是树形问题的常用方式。和图一样树衍生出来的算法丰富多彩。本文挑选了一些学习树的入门题目,包含常用遍历,序列化与反序列化等经典模型。这些题目无论是在校学习考研,或是求职等都是基础中的基础,要求牢牢掌握。熟练者都能做到一遍AC。原创 2024-02-29 11:34:05 · 428 阅读 · 0 评论 -
(经典dp) hdu 递推求解专题练习
hdu2044 一只小蜜蜂...hdu2045 不容易系列之(3)—— LELE的RPG难题hdu2046 骨牌铺方格hdu2047 阿牛的EOF牛肉串hdu2048 神、上帝以及老天爷hdu2049 不容易系列之(4)——考新郎hdu2050 折线分割平面错排公式原创 2022-11-20 22:54:54 · 449 阅读 · 0 评论 -
(经典dp) 骨牌问题 2*n 3*n n*m
3687. 骨牌骨牌覆盖 - 51Nod 1031 1032 1033 1034骨牌铺方格- 2046Mondriaan's Dream- 14002411 -- Mondriaan's Dream原创 2022-11-16 23:27:07 · 608 阅读 · 0 评论 -
(经典dp) I型 L型 铺盖2*n
蓝桥杯:积木画洛谷:[P1990 覆盖墙壁]力扣:[790. 多米诺和托米诺平铺]原创 2022-11-13 23:39:32 · 267 阅读 · 0 评论 -
(数论) 除法取模(求逆元)
hdu-A/B - 1576The Euler function - 2824P5091 【模板】扩展欧拉定理372. 超级次方P3811 【模板】乘法逆元费马小定理扩展欧几里得原创 2022-10-29 21:54:48 · 2340 阅读 · 0 评论 -
(数论) 扩展gcd
gcd 可以说是数论中最基础的内容之一。而扩展gcd是在求gcd的同时伴随的求解贝祖定理的两个值,使用场景非常广。如贝祖定理的各种变化,求乘法逆元等操作,是必备的技能。P1029 NOIP2001 普及组 最大公约数和最小公倍数问题P4549 【模板】裴蜀定理P1082 NOIP2012 提高组 同余方程P5656 【模板】二元一次不定方程 (exgcd)P3811 【模板】乘法逆元原创 2022-10-19 23:23:23 · 679 阅读 · 1 评论 -
(数位dp) 算法竞赛入门到进阶 书本题集
hdu2089 不要62; hdu3555 Bomb; hdu3652 B-number; hdu6148 Valley Numer; hdu4507 吉哥系列故事——恨7不成妻;本文中的题目来自罗勇军老师和郭卫斌老师的《算法竞赛入门到进阶》俗称小黑书数位dp一般有两种实现方式,递推和记忆化dfs递推比较重视推到能力,而记忆化dfs也非常好写且模板话程度高。原创 2022-09-28 22:57:52 · 1076 阅读 · 0 评论 -
(区间dp) (经典例题) 石子合并
P1775 石子合并(弱化版)环形石子合并Dire Wolf - hdu5115石子合并是区间dp的一道经典例题。各种变形也是层出不穷,最经典的就是"环形石子合并",而解决思路就是破环成链石子合并和最长回文子序列这类区间dp的最大不同在于有分割[i, j]区间的思想,因此时间复杂度是O(n^3),一般能过1e2量级的题目,而到了1e3量级的就需要四边形不等式优化来处理原创 2022-08-31 22:48:10 · 846 阅读 · 0 评论 -
(树) 最近公共祖先(LCA)
如这个问题的名字一样,我们的目的是为了求得一个树上两个点得最近公共祖先通常对于树的操作那自然是离不开搜索,其中dfs的理解和编写必须了熟于心解决LCA的算法常见的有三种,Tarjan,树链剖分,倍增算法P3379 【模板】最近公共祖先(LCA)2586 How far away ?...原创 2022-07-29 23:01:32 · 241 阅读 · 0 评论 -
(线段树) 基础线段树常见问题总结
线段树已成为算法选手的基本技能之一难点在于如何根据需求构造和处理本文总结出了一些常见构造类型如:区间加乘,区间覆盖,区间bool标记等区间求和,区间计数,区间求最值P3374 【模板】树状数组 1I Hate ItP3384 【模板】轻重链剖分/树链剖分P3373 【模板】线段树 2731. 我的日程安排表699. 掉落的方块2276. 统计区间中的整数数目5221 OccupationLCIS - 330853. 最大子数组和3264 -- Balanced Lineup...原创 2022-07-27 21:31:39 · 492 阅读 · 0 评论 -
(图论) 连通分量(模板) + 强连通分量(模板)
图的联通性是图论中的基础问题之一。无向图的连通分量通常比较好实现,直接搜索即可。通常方法有:并查集,DFS,BFS而有向图的强分量的实现与计算则比较困难。通常方法有:tarjan kosaraju本文不从0开始讲解思路和代码,以展示模板为主,当然强联通分量的算法也可以直接应用于连通分量中6106. 统计无向图中无法互相到达点对数P3387 【模板】缩点 ...原创 2022-06-26 23:08:13 · 431 阅读 · 0 评论 -
(树) 树状数组
说到树型结构,最大的优势就是能让${O(n)}$的一些操作化简到${O(logn)}$而本文的主题“树状数组”自然也不例外树状数组运用二进制中1的个数和关系,让大数保存小数的数值。但是由于线段树的光环太大了,树状数组的讨论度太低了,但还是有必要了解一下的本题不从0开始讲解,主要是模板的展示和使用P3374 【模板】树状数组 1P3368 【模板】树状数组 2P3384 【模板】轻重链剖分/树链剖分剑指 Offer 51. 数组中的逆序对...原创 2022-06-23 17:11:01 · 246 阅读 · 0 评论 -
(几何) 凸包问题
凸包问题 (Convex Hull)是计算几何中的经典问题,也是众多计算几何的入门问题。凸包_百度百科 顾名思义就是一个凸的多边形,在视觉上也许比较容易看出,但是如何证明哪些是凸包点,如何用代码实现这并不容易。向量积 Jarvis 算法 Graham 算法 Andrew 算法...原创 2022-06-22 23:36:23 · 261 阅读 · 0 评论 -
(图论) Tarjan 算法
Tarjan 算法是图论中非常著名和常用的算法之一,能解决最近公共祖先(LCA),强连通分量,割点和割边(桥),双连通分量等问题。Tarjan 是基于dfs搜索的算法,依据递归栈,时间戳等信息能解决多种问题。在dfs中每个点只递归一次,边也只利用一次,因此时间复杂度为O(n+m){O(n+m)}O(n+m)。本文主要以记录模板为主,不做详细教学,需要读者有一定的dfs基础,希望读者能总结出属于自己的模板。在求强联通分量处,给出了另一种kosaraju算法的模板。本文并没有求双联通分量的模板,以后有机会会给出原创 2022-06-14 19:48:37 · 716 阅读 · 0 评论 -
斐波那契的N种实现方式
文章目录前言实现方式迭代动态规划同余优化普通递归记忆化dfs矩阵快速幂通向公式打表END前言学习计算机编程的过程中必然少不了对斐波那契数列的认识和编写。斐波那契数列 的序列为 0、1、1、2、3、5、8、13、21、34 。。。 假设以0开始其表达式为:f(0)=0f(1)=1f(n)=f(n−1)+f(n−2)f(0) = 0 \\f(1) = 1 \\f(n) = f(n-1) + f(n-2)f(0)=0f(1)=1f(n)=f(n−1)+f(n−2)下面的方法中,除了通向公式法外原创 2022-05-02 00:20:50 · 483 阅读 · 0 评论 -
(二分) 逼近类二分搜索
文章目录前言模板题理解题意解题思想循环判断无等号循环判断有等号综合写法END前言前置知识,需要先掌握最基本的二分查找704. 二分查找本文讲解题目为:278. 第一个错误的版本本文讲解的是逼近类的二分(当然这是我自己取的名字),什么意思?例如我们有一串数字1,2,3,3,3,3,3,4;若要求找到第一个大于2的数值的位置显然第三个数是我们需要的数,但如何通过二分搜索到,这就是本文需要研究的。纯二分搜索其实不难,但其中的各种细节实在让人抓狂一般如何辨别一道题能用二分,我总结了一些规律原创 2022-04-01 17:00:32 · 430 阅读 · 0 评论 -
(背包dp) 背包N讲
文章目录前言相关练习题模板题01背包完全背包多重背包小数据范围 (可朴素暴力)数据范围中等数据范围 (二进制优化)数据范围大数据范围 (单调队列优化)数据范围混合背包二维费用背包分组背包有依赖的背包 (树型dp)背包求方案数背包求具体方案END前言背包问题可以说是dp中非常典型的一种题型由最简单的01背包到由背包延伸出来的各种dp问题种类繁多而前辈们也是有总结出“背包九讲”和各种典型例题的珍贵资料本文的例题选自acwing(y总甚至直接把背包问题放在了提单的A+B的直接下面)背包九讲PDF(来原创 2022-03-28 19:37:39 · 2262 阅读 · 1 评论 -
(排序) 各种排序算法汇总
排序文章目录排序前言说明表格分析专业性介绍分类介绍题集时间复杂度 O(n2){O(n^2)}O(n2)冒泡排序 (bubble sort)选择排序 (select sort)插入排序 (insert sort)时间复杂度 O(nlogn){O(nlogn)}O(nlogn)希尔排序 (shell sort)快速排序 (quick sort)归并排序 (merge sort)堆排序 (heap sort)时间复杂度 O(n){O(n)}O(n)计数排序(count sort)基数排序(radix sort)原创 2022-03-12 18:36:05 · 1633 阅读 · 0 评论 -
(图论) 最短路
最短路问题是图论中最经典的题型之一。现在主流的有5中算法可以解决Dijstra Floyd Bellman Frod SPFA Johnson743. 网络延迟时间787. K 站中转内最便宜的航班P3385 【模板】负环World Exhibition - 3592P5905 【模板】Johnson 全源最短路Dijstra (朴素)适用于稠密图...原创 2022-02-14 18:18:27 · 489 阅读 · 0 评论 -
(双指针) 滑动窗口 定长与不定长
力扣:239. 滑动窗口最大值牛客:智乃的密码双指针是算法中常见的处理方式。在处理线性的题目时,通常会有提到另外的说法,`滑动窗口`(或尺取)。以常见的字符串为例,我们设定两个指针,`左指针left`,`右指针right`当两个指针都确定了在串中的位置,则可以截取一个字串。我们可以把它比作是一个窗口,而当两个指针进行移动的时候,那这个窗口也就滑动了。力扣:[219. 存在重复元素 II]力扣:[567. 字符串的排列]原创 2022-02-06 23:32:51 · 1356 阅读 · 0 评论 -
(数论) 从判断素数到素数筛
素数,又名质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。简单说就是只能写成1 x 本身的形式的数注意:规定1不是素数关于素数的研究自古往来一直是人类研究的重点和难点。文章目录判断素数朴素法根号优化根据分布优化素数筛朴素筛选 (埃式筛)朴素筛选优化线性筛 (欧拉筛)打表END判断素数朴素法bool isPrime(int n) { if (n == 1){ return false; } for (int i = 2; i <原创 2022-01-12 16:14:26 · 600 阅读 · 0 评论 -
(化简复杂度) 离散化
离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。506. 相对名次1036. 逃离大迷宫下标 idx01234原数组103894离散化数组40231应用如果问题不强调数值大小,只在乎数值的相对大小 。则可以通过离散化大大降低空间和时间复杂度。如:在一个图论题目中, 给出 1,1000两个点。如果常规的使用邻接矩阵在存储,则需要1000*1.原创 2022-01-05 19:14:53 · 722 阅读 · 0 评论 -
[蓝桥杯]Excel题
文章目录前言2021 国赛完全日期2020 省赛(第二场)跑步锻炼2019 省赛年号字符2018 省赛第几天2015 省赛星系爆炸END前言蓝桥杯的excel题是什么?很多小伙伴看到这个标题感觉很疑惑,蓝桥杯不是只有填空和代码题吗?excel题是什么玩意?这里我来解释一下,由于蓝桥杯的比赛环境有一套自己的系统,没有像别的比赛限制那么大~~(没错,说的就是PTA)~~。因此我们可以使用各种电脑自带的工具,比如windows的时间,画图等等但我们这里要看的是功能的强大性远超你想象的excel,(本文以原创 2021-12-28 21:28:45 · 3769 阅读 · 3 评论 -
2021济南icpc K. Search For Mafuyu DFS签到题
奖牌榜 The 2021 ICPC Asia Jinan Regional Contest - Contest Session (pintia.cn)签到题,手快的半小时内写完的可以获得铜牌 第210名的AC时间是32:50第200名AC了两题,就是说有十个快男队只A了这题拿了铜牌题目Problem K. Search For Mafuyu Input fifile: standard input Output fifile: standard output Time li.原创 2021-11-14 22:34:22 · 558 阅读 · 0 评论 -
(DFS) 简单搜索题的入门 传统的延续
本文原来发布于: 2021-03-23但因为那是本人在csdn上第一篇博客,因此把那篇文章的地址作为个人的算法整理的地址使用算法笔记(个人用)(不定期更新)_CUBE_lotus的博客-CSDN博客本题出自:浙江农林大学第二十届程序设计竞赛暨团体程序设计天梯赛选拔赛(同步赛)第J题题目链接传统的延续题目描述在一个神秘的古老国度有着这样的一个传统,如果一个城市曾向另一个城市宣誓,那么这个城市的最高建筑不得高于效忠的城市,一个城市最多只会宣誓一次。特别的如果城市A曾向B宣誓,B城市曾原创 2021-08-22 00:16:06 · 211 阅读 · 0 评论 -
[PTA]2021天梯赛-总决赛 L1题解合集
2021天梯赛人与神 (5 分)两小时学完C语言 (5 分)强迫症 (10 分)降价提醒机器人 (10 分)大笨钟的心情 (15 分)吉老师的回归 (15 分)天梯赛的善良 (20 分)乘法口诀数列 (20 分)原创 2021-08-09 21:41:52 · 3593 阅读 · 2 评论