1、Dijkstra算法
一、Dijkstra算法简介 Dijkstra算法主要用于计算有权图的单源最短路径,Dijkstra算法的特点是从source结点开始,采用贪心算法的策略,每次贪心求得未访问的结点中,到source结点距离最近的结点(此时仍然有未访问的结点与source结点直接或间接相连,如果此时没有任何一个结点与 ...
再学串串 SP:一些奇技淫巧
## 其他
再更多奇技淫巧就需要用到一些高级算法或数据结构了。(我不会)
- [诡异多项式科技](https://www.luogu.com.cn/article/n3mf4mdw)
- [炫酷后缀树魔术](https://www.luogu.com.cn/article/nre3vsql)
-... ...
Go 字符串查找的 20 种实现方式,用不同思路解决问题
Go 字符串查找的 20 种实现方式,用不同思路解决问题 字符串查找(在主串中找模式串第一次或全部出现的位置)是最常见的算法。看似只要一行 strings.Index,但背后有几十年的算法演进——同一个任务,朴素算法 O(m×n),KMP 是 O(m+n),Boyer-Moore 在自然文本上接近 ...
算法竞赛中最大子段和问题解法总结与拓展
对于算法竞赛中最大子段和问题总结三种不同的做法,并比较三种做法的优劣。进而探讨最大子段和问题的本质,并以一道变体题为例深入研究 ...
再学串串(六):回文自动机动自文回:)六(串串学再
以防你不知道,本文的标题灵感来自于木又寸寸又木。 至于括号为什么也翻转……灵感可能来源于哥群周刊罢。 过去的章节节章的去过 再学串串(一):我真的学会 KMP 了吗?评「clx201022 式的傲慢」 再学串串(二):AC 自动机不是自动 AC 机 再学串串(三):被构造自动机上计数 DP 题吓晕 ...
TypeScript 数组去重的 20 种实现方式,用不同思路指导AI编程
TypeScript 数组去重的 20 种实现方式,用不同思路解决问题 数组去重是最常见的编程算法,非常简单,但也可以有很多的实现方案。TypeScript 在 JavaScript 的基础上加了静态类型,让通用工具函数可以用泛型写一次、对所有可比较类型可用。本文整理 TS 数组去重的 20 种写法 ...
AI时代的大数据底层结构:Palantir Ontology深度解析
AI时代,基于Ontology本体论的大数据底层结构分析 本文面向架构师、数据工程师、AI 应用开发者。讨论的问题是:在企业 AI 大量落地的今天,Palantir 这家公司被反复提及,背后并非它的模型能力,而是它二十年来构建的一种底层数据结构——Ontology(本体)。本文探讨究竟什么是Onto ...
再学串串(五):谁会不喜欢可爱的小马(拉车)呢?
因为是赛马娘拉车,所以先于 SA 出来了——绝对不是因为不会 SA 什么的(大嘘)。
可能有点水()五一集训去了加之回来五一假回来要期中考,再加上最近状态不太好去看心理医生了所以这次含水量可能有点高。 ...
Go数组去重的20种实现方式,AI时代解决问题的不同思路
Go数组去重的20种实现方式,用不同思路解决问题 数组去重是最常见的算法。看似简单,但不同实现方式的性能差异可能高达几百倍。本文整理 Go 数组和切片去重的 20 种写法,按 5 个策略分类,帮你理解每类的核心思路。AI时代,可以不手写代码了,但需要知道代码背后的原理,这样才能更好地指导AI编程。 ...
【Java数组去重的20种实现方式——指导AI解决不同问题的思路】
Java 数组去重的 20 种实现方式,理解不同解决问题的思路 数组与列表去重是最常见的算法。看似简单,但不同实现方式的性能差异可能高达几百倍。整理Java数组去重的20种写法,按5个策略分类,帮你理解每类的核心思路。AI时代,可以不写代码,但需要理解不同解决问题的方式。 为什么性能差异这么大? 最 ...
ICPC 新疆省赛2026
传送门 赛时开出来的 C: Size Comparison 糖丸了模拟题,要求输出Bigger,输出了larger,吃了罚时 点击查看代码 #include<bits/stdc++.h> using namespace std; using ll=long long ; const int maxn ...
【合并已排序数组的三种实现策略,哪一种更可取?】
【合并已排序数组的三种实现策略,哪一种更可取?】 说明 合并两个已排序的数组,这在算法中经常遇到,特别是在归并排序算法中。这里分析下几种实现策略。 三种实现策略 策略一:双指针法 思路:使用两个指针分别指向两个数组,同时遍历比较 优势:时间复杂度最优,逻辑清晰 适用场景:大多数情况下的首选方案 策略 ...
插头 DP 学习笔记
1. 算法简介 插头 DP 常用于网格图的 DP 中。其核心在于设计如下几部分: 分界线的设置。 插头状态的定义。 合并和延伸插头的转移。 其中,分界线的设置其实规定了 DP 转移的顺序,区别于状压 DP,插头 DP 通常是对每个格子而非整行转移;而插头状态的定义则代表着转移过程中前驱状态对后继的影 ...
2026CCCC第三次模拟赛 部分题解
链接:https://pintia.cn/problem-sets/2043859722891493376/exam/overview 这里主要针对天梯赛,其他比赛不太适用,为了自己也为了帮助他人复习以及更稳的备赛,我就做了一个简单的题解。 基础题部分 这一场的 \(L1\)-\(L7\) 我就不写 ...
再学串串(一):我真的学会 KMP 了吗?评「clx201022 式的傲慢」
为什么要写作本文? 以为自己已经学会了串串[1],结果在摩卡串被创飞才发现自己似乎连最基础的 KMP 都没有学懂,遂写此文。 因此本文不仅是一篇介绍字符串的博客,更是学习的过程。 子曰:「温故而知新,可以为师矣。」这种学习方法也叫费曼学习法。 所以读者在品鉴完本文后还可以去教别人,并告诉他这是一种高 ...
矩阵树定理 学习笔记
1. 基础概念 根据图论里的知识,我们已经知道了邻接矩阵 \(A\) 的定义。如果是有向图,那么边 \(u_i\to v_i\) 只需要在 \(A_{u_i, v_i}\) 处加上 \(w_i\) 即可;如果是无向图,那么边 \(u_i\leftrightarrow v_i\) 只需要在 \(A_{ ...
2025 ICPC 上海市大学生程序设计竞赛 个人补题笔记(正在补题中)
赛事信息 题目链接:https://codeforces.com/gym/105992 赛事榜单:https://board.xcpcio.com/provincial-contest/2025/shanghai?group=official 这场打的有点倒闭,只出了3道题,感觉心态还是比较炸,唉, ...


