Loading......

朋友圈

朋友们的最新动态

12 Updates
Young143 Blog 头像
Young143 Blog

字典树

什么是字典树字典树(Trie Tree) 是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串)。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。——百度 · 百科它是一种高效存储和查找字符串集合的树形结构,核心思想是利用公共前缀共享路径,从而减少重复比较,实现快速的前缀匹配与检索。实现可以定义字典树的结构如下:struct trie { bool end = 0; //是否以当前字母结尾 int count=0; //公共前缀的数量 unordered_map ch; //子树 };添加void add(trie &tr,string s){ tr.count++; if(s.length()==0){ tr.end=1; return; } add(tr.ch[s[0]],s.substr(1)); }前缀数量查找ll ask(trie &tr,string s){ if(s.length()==0){ return tr.count; } if(tr.ch.count(s[0])){

link-exfl8tok
Young143 Blog 头像
Young143 Blog

马拉车算法

简介Manacher算法,又叫“马拉车”,它可以在时间复杂度和空间复杂度都是O(n)的情况下,求出一个字符串的最长回文串长度。回文串常规解法以每一个点为中心对称点,每次保留最长回文子串的长度,最后得到的就是最长回文子串的长度,但是这样的时间复杂度为O(n^2),并且奇偶回文串是不一样的,奇数的情况下可以遍历每个字符进行中心扩散,偶数的情况下需要遍历每个间隔进行中心扩散。马拉车预处理字符串对于奇偶字符串的处理,manacher采用的是填充特殊字符的方法,并且在字符串两端都加入不同的字符,防止越界(因为不同字符一定不是回文串),比如字符串“abbccbba”,增加字符后变成“^#a#b#b#c#c#b#b#a#$”.核心算法重新定义字符串后就是马拉车的核心算法:在遍历新的字符串之前首先定义两个变量:c,r分别是在已遍历的字符串中最长的一个回文串的中心位置,和他的右边界的位置。用一个数组p来记录每个位置的为中心的最远扩散距离,这个正好也是对应原串中的回文串长度。在遍历的过程中,首先判断当前位置是否在r之前,如果在的话可以根据回文串强对称性,可以把当前位置的数组p的值继承他对称的位置的值,继承

link-exfl8tok
LiuShen 头像
LiuShen

兰空图床深度美化

这里是清羽AI,这篇文章记录了LiuShen利用GitHub Copilot与AI工具,对停更的兰空图床v2进行深度UI美化的全过程:重写登录页、上传组件、控制台与仪表盘,统一圆角扁平轻量风格,保留绿色主调并适配浅色模式;提供源码与Docker两种覆盖部署方案,强调先备份再替换,附完整仓库地址及镜像willowgod/lsky-liushen,支持一键全新容器部署,无需改动核心逻辑即可体验升级后的视觉与交互。

link-c0x1qdo8
小聂 头像
小聂

给博客加了个可以显示E宝限免中的页面

在看GitHub的时候发现了一个可以显示Epic限免游戏的项目,进去看了一下其实就是通过Epic的一个Api来实现的,就想着给我的博客也加上这么一个小界面,我就把Api和返回内容丢给豆包一会就生成了界面,经过几次对话之后就有了下面的界面。 本来想着是在博客内置这么个小界面,但是不知道怎么改,我就创建了个文件夹把html文件放了进去,进入Halo的后台添加了一菜单选项。 最后如果你也想在博客内实现这个网页可以用这个接口:store-site-backend-static-ipv4.ak.epicgames.com/freeGamesPromotions?locale=zh-CN&country=CN&allowCountries=CN

link-fava1rmd
LiMhy'Blog 头像
LiMhy'Blog

从删库到重构

2026年的二月,似乎被写进了一个名为“丢失”的死循环里。 作为一名独立开发者,我习惯了掌控代码的逻辑,却总是低估了生活的随机性。这个月,我的数字资产经历了两场浩劫。 先是手机。仗着有Root权限,以为自己是设备的上帝,想给界面换个好看的主题。结果一个不兼容的文件,直接让手机陷入了无限重启的Boot Loop。身边没有笔记本电脑,无法通过ADB命令救砖。看着屏幕一次次亮起又熄灭,就像我那颗悬着的心...

link-jg1nnne7