【算法】LCA 最近公共祖先
发布于: 2025-10-18 更新于: 2025-11-25 分类于:  作者: twyeottk

问题引入

如果现在给你一棵树,要求求出任意两点之间的的最近公共祖先(LCA),你该怎么做呢?

  • 树上最近公共祖先:树上两点的所有公共祖先中离两点最近的点

朴素算法求 LCA

这个想法很简单,就是把从根节点到两个节点的路径分别求出来,然后找出路径中离根节点最远的两边同时存在的点即可,时间复杂度最坏 O(N) 阅读更多

OI 经验积累
发布于: 2025-10-18 更新于: 2025-11-16 分类于:  作者: twyeottk

前言

OIER 生涯中大部分时间都是在调题目,但有时候很多题目确实会把我们调崩溃,怎么调也调不出来,这里有一些小建议,可以看一看。

阅读更多
【题解】AT_abc269_g [ABC269G] Reversible Cards 2
发布于: 2025-10-17 更新于: 2025-11-16 分类于:  作者: twyeottk

这篇题解主要是这个蒟蒻没看懂其他题解有感而发~

也顺便补充了一下复杂度证明 qwq。

前置芝士:

  • 背包
  • 三角形不等式

题目大意

题目给出 N{A_i,B_i},求选择 k 个组选择

【算法】倍增
发布于: 2025-10-15 更新于: 2025-11-16 分类于:  作者: twyeottk

定义

倍增法,顾名思义就是翻倍。它能够使线性的处理转化为对数级的处理,大大地优化时间复杂度。
这个方法在很多算法中均有应用,其中最常用的是 RMQ (Ranged Max/Min Query) 问题和求
LCA(Lowest Common Ancestor)

引例

在你面前的桌子上,摆着无数个重量为任意整数的胡萝卜;
接着告诉你一个数字 n,问你要怎么挑选,使得你选出的胡萝卜能够表示出 [1,n]...

阅读更多
【算法】折半搜索 Meet in the Middle
发布于: 2025-10-15 更新于: 2025-11-16 分类于:  作者: twyeottk

今天我们来讲一讲一个暴力优化的算法。

阅读更多
【算法】分数规划
发布于: 2025-10-12 更新于: 2025-11-16 分类于:  作者: twyeottk

0/1 分数规划

本文介绍分数规划问题及其解法。

阅读更多
对于 watch 的 too many open files 的更多处理
发布于: 2025-10-12 更新于: 2025-11-16 分类于:  作者: twyeottk

在使用 Node.js 等前端构建工具的时候, watch 总是避免不了的东西,它的作用是热加载,让我们的代码实时更新。

只不过,我们总会遇到类似这样的报错:

1
Error: EMFILE: too many open files, watch 'path...'

我们又该怎么办呢?

阅读更多
欢迎来到鸽子窝~
发布于: 2025-10-12 更新于: 2025-11-16 分类于:  作者: twyeottk

欢迎来到鸽子窝~

嗨,大家好!
这里是 鸽子窝,一个属于我自己的小天地。

在这里,你可以看到我的一些小记录、学习笔记、生活随想,或者偶尔的一些小创作。

阅读更多
Lute 渲染器测试
发布于: 2025-01-01 更新于: 2025-11-25 分类于:  作者: twyeottk

Lute 渲染器测试

这是一个测试文件,用于验证 Lute 渲染器是否正常工作。

测试中英文自动空格

Lute 的特色功能是中英文自动空格。例如:这是一个测试 test,应该变成:这是一个测试 test。

GitHub 是一个很好的平台,Node.js 是 JavaScript 运行时。

测试中文标点

Lute 可以将英文标点替换为中文标点(仅在中文之间)。

这是一个句子,它应该使用中文标...

阅读更多