- 博客(29)
- 收藏
- 关注
原创 OJhelper一款帮助你获取各大oj信息的软件
目前应用支持:查询、自定义、收藏各大oj比赛信息,跳转比赛界面。查询各大oj的Rating分以及题量,查看题量饼状图。
2024-07-10 00:52:57 329 2
原创 算法竞赛入门指南
首先明确你学算法的需求,从易到难大致分为以下三种:1:应付小厂面试就行,考研数据结构无所谓的。2:手撕中大厂算法,在蓝桥杯,天梯赛等算法比赛获得国奖,考研希望数据结获得不错的分数(**推荐**)。3:打ICPC,CCPC等算竞比赛,公费旅游,成为吊大荣光。
2024-05-18 23:33:49 1968 1
原创 ST表(模板讲解,在线修改)
本文并非st表零基础教程,不适合对ST表没有基础的人阅读。利用倍增思想,求解静态RMQ(区间最值查询)的算法利用O(nlog2n)复杂度预处理,进行O(1)的查询倍增思想: 2的i次增长。
2024-07-23 08:25:00 426
原创 组合数求解方法(迭代乘法,dp,逆元,卢卡斯)
今天打乐扣周赛,t4被组合数溢出卡了。后面换了py才过。痛定思痛,出一期求解组合数,几种推导方法如下。
2024-07-22 22:05:02 1271
原创 主席树(可持久化线段树)与标记永久化(推导原理与应用)
今天写这道板子题,一开始我一直想不明白。为什么两个操作都是单点,要用线段树来维护,没有更方便的方法吗?
2024-05-18 20:57:24 868
原创 abc350 E(概率dp)
操作2:花费y元,把x变成x/b(b是1到6中随机一个数字,概率相等)操作1:花费x元,把x变成x/a(a是给定的数字)记dp[i]是当前整数是i时,花费了的钱数。题目大意:给你一个整数x,你有两种操作。今天打abc遇到的记录一下。问,最少多少米,能让x变0。
2024-04-20 22:51:25 298
原创 codeforces(edu163div2D)
3次做法如下,最容易想的暴力,枚举起点终点,判断这个范围行不行。串联重复(长度偶数)前后相等,如abab(ab = ab)平方做法如下,主要利用了子串的连续性进行优化。这场的D有点意思,一开始只写出了O。子串,连续的(不连续的叫子序列)复杂度的,理所当然的被hack了。如acabazab,len为4时。题目大意:求最长串联重复子串。ab不相等cnt = 0。zab相等cnt+1。
2024-04-09 20:23:17 241 4
原创 二维固定区间最值
然后我们得到了max_m和min_m,接下来只要知道i - m1 + 1到 i行的max_m和min_m的最值,相当于把各个max_m和min_m拼接到一起了。朴素的想法是直接暴力i到i+n1-1,一般的题也够用,如果要优化的话,就再来一次单调队列.解法有,单调队列,优先队列,滑动窗口.(优先队速度稍微慢点,多两logn)两次单调队列写法,只要把朴素后半部分改成如下的就行了。假如我们求n,m区间,n1,m1大小的区间的极差。问题处理的核心思想是,把二维的东西化成一维。相当于处理二维化一维,一维求区间最大。
2024-03-11 20:13:48 215
原创 线段树离散化讲解, 扫描线实现(左开右闭,双闭写法)
先讲一下线段树的离散化问题,如果直接按出现位次来离散的话会有问题比如1,50,100,150离散成了1,2,3,4.如果我们覆盖了1-2和3-4,看上去是全部覆盖了,但实际上50-10这个区间我们并没有覆盖到.有两种解决方法
2024-03-07 10:22:37 617 1
原创 同余和逆.
由同余定义得ax - b是m的y倍(y为未知整数)得ax + my = b(也就是二元线性丢番图方程),可以直接用解二元线性丢番图方程的方法解,也可以用逆的方法(下文逆应用写了)
2024-02-17 15:13:06 862 1
原创 分块与基础莫队
定义n为数组长度,m为查询次数优雅的暴力,适合求解m == n == 1e5的问题, 或者m根号n ≈ 1e7的问题,空间约3n相比之下,线段树解决1e6,空间9n时间复杂度O(m根号n),主要处理区间问题
2024-02-10 17:03:11 235 1
原创 manacher(马拉车)最长回文子串问题的解决
马拉车,是一种动态规划算法,用来求解字符串S中最长回文子串的长度,时间复杂度O(n),同类场景最优解。
2024-02-10 16:58:08 186 1
原创 最小生成树(Prim,Kruskal双解)(cpp+链式前向星)
解决最小生成树常见有两种方法,Kruskal和Prim,定义边数为m,点数为nKrusal时间复杂度O(mlog2m), sortO(mlog2n),并查集O(m)Prim时间复杂度O(mlog2n),加优先队列优化的情况下krusal全局贪心,Prim局部贪心(跟dij基本一样,dijkstra在一篇文章里同时提出了dij和krusal)
2024-02-10 16:41:53 382 1
原创 数位dp记忆化和递推两种方法图解(附难度题单)
dp[i]定义为i位数的每种数字有多少个(例如dp[2]代表00到99中某个数出现的次数,此处加前导0是为了使0和其他数一样)一图流dp[pos] [sum] [lead] [limit]表示限制条件中某数码出现的次数pos表示最低要求的数前有几位sum表示要求数开始有几位如要求2,dp[2] [1] 就是200-299, dp[2] [2] 表示2200-2299lead表示有无前导0有为true,否位falselimit代表数位限制如果能取到0-9取false,不能则取true。
2023-12-12 09:16:18 1911
原创 单调栈的正序和逆序构造详解(附力扣难度题单)
正序和逆序只是角度不同,简单来说正序是把待比较的元素放到栈里,保持栈的单调递减逆序是把已经比较过的元素放到栈里,保持栈的单调递减无论正序逆天,都要保证栈的有序,并且需要及时去除无用数据
2023-12-11 18:34:42 202 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人