摘要: 被拉到dl24jp集训一整天(我的作业啊啊啊啊啊) 1.排序算法 主要考察稳定性,时间复杂度,原理 1.1.插入排序 最佳时间复杂度:\(O(n)\) 最差时间复杂度:\(O(n^2)\) 平均时间复杂度:\(O(n^2)\) 是否稳定:是 1.2.希尔排序(优化插入排序) 就是把元素分组,每组ga 阅读全文
posted @ 2025-09-14 14:47 OIRikka 阅读(101) 评论(1) 推荐(0)
摘要: 基础数论公式集合(无推导) 珂爱的公式 阅读全文
posted @ 2025-08-14 08:36 OIRikka 阅读(40) 评论(0) 推荐(1)
摘要: 更好的观看体验请下载pdf Part 1. basic [!TIP] 有 一堆 共 n 颗石子,两个玩家轮流从中取走石子。每次玩家可以取走 \(m\)颗以内的石子。不能再取石子的人输。 假设两个玩家都足够聪明,都会采取最优策略,请问先手是否必胜? 1.1.分析与归纳 ​ 这是一道经典的博弈论题目,容 阅读全文
posted @ 2025-08-06 19:42 OIRikka 阅读(25) 评论(3) 推荐(1)
摘要: 1.作用 树状数组是一种高效而简单的数据结构,用于*大部分区间修改和查询问题,形如\(a[1]+a[2]+a[3]+a[4]+...+a[n]\)(其不支持的可以由线段树替代) 2.选择原因 优点:树状数组的码量明显比线段树短,时间复杂度比朴素算法与线段树更优,空间复杂度则吊打线段树 缺点:部分线段 阅读全文
posted @ 2025-07-31 20:06 OIRikka 阅读(282) 评论(2) 推荐(1)
摘要: [CF题解] Simple Palindrome 这题写了半个小时还拉上了大佬 再写构造我是狗 1.题意简述 用\(a,e,i,o,u\)构造一个串 使串中的回文子序列最少 2.读题 这道题其实并不难,难就难在什么是"回文子序列"。看到题目的第一眼,我相信你想到的肯定是: 哦哦,这题简单,不就是让他回文部分最小吗,那我直接输出\(aeiouaeio 阅读全文
posted @ 2025-02-28 14:14 OIRikka 阅读(15) 评论(0) 推荐(0)
摘要: KD树,你看着他好几个维度不明白,但实际上非常简单 \(K\)指维度 因此他可以在二维(多维)平面内进行搜索!!! 1.二维 1.1 建树 对于每一层,我们使用轮转法进行建树 什么意思呢?比如二维,如果\(x\)层为一维(横坐标),则\((x+1)\)层为二维(纵坐标) 确定好维数,接下来就是构建了 阅读全文
posted @ 2025-02-27 21:11 OIRikka 阅读(49) 评论(0) 推荐(0)
摘要: 1.前置知识 回文子串 回文的子串 最长回文子串 字符串中最长的回文子串 回文半径 设以\(i\)为中心的最大回文子串的长度为\(n\),则这个字符串第\(i\)位的回文半径为\((n+1)/2\) 2.算法流程 2.1 预处理 在处理回文子串(马拉车算法适用)的问题时,一般需要求出每一位的回文半径 阅读全文
posted @ 2025-02-27 14:29 OIRikka 阅读(20) 评论(0) 推荐(0)
摘要: 树(基础) 1 定义 1.1 树是什么 树是一种数据结构,因为形似倒着的树而得名. 树是一种特殊图 1.2 树的定义 递归定义 1.2.1 有根树的定义 形象化的,如图1,有根树存在根节点这一定义,从根节点可以分出任意个分支,这任意个分支又可以继续细分,分出的节点称为“子节点”。 抽象化的,树也是\ 阅读全文
posted @ 2025-02-27 14:17 OIRikka 阅读(151) 评论(0) 推荐(0)