自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 浅谈并查集

本文介绍了并查集这一高效处理集合合并与查询的数据结构。首先阐述了朴素实现方法,包括父节点存储、Find和Union操作,时间复杂度为O(n)。接着提出路径压缩优化,通过查找时直接指向根节点来降低复杂度至O(logn)。进一步介绍了按秩合并/按大小合并优化,将小树合并到大树以减少树高。综合使用两种优化后,时间复杂度可达近线性O(nα(n))。最后举例说明了并查集在图论、布尔变量关系等场景的应用,包括种类并查集等扩展用法。

2025-10-30 18:33:34 904 1

原创 二叉搜索树学习笔记

本文介绍了二叉搜索树(BST)的基本概念和核心操作。BST是一种有根二叉树,满足中序遍历为有序序列的性质。文章详细讲解了BST的各类操作: 旋转操作(左旋/右旋):改变树结构而不破坏BST性质 元素操作:插入、搜索、删除(包括两种删除方法) 查询操作:最大/最小元素、前驱/后继节点 排名相关:查询元素排名和根据排名查询元素 文中指出BST操作的时间复杂度与树高度h相关,最坏情况下可能退化为O(n),因此需要平衡树机制来优化。最后提供了一个BST的实现代码示例,并提到其在洛谷题目中的测试表现。

2025-10-30 18:30:29 723

原创 浅谈 ST 表(RMQ 问题)

本文介绍了四种计算⌊log₂x⌋的方法:打表法、GCC内部函数法、C++20的bit_width函数法以及倍增法,并比较了它们的效率。接着详细讲解了ST表(稀疏表)数据结构,包括其预处理过程(递推式和时间复杂度)和查询方法(利用可重复贡献特性),并通过代码实现展示了ST表在解决静态RMQ问题中的应用。最终测试结果表明,GCC内部函数法效率最高。

2025-10-30 18:27:16 864

原创 浅谈 BSGS(Baby-Step Giant-Step 大步小步)算法

摘要: BSGS算法用于在$\mathcal O(\sqrt p)$时间内求解离散对数问题$b^l\equiv n\pmod p$。其核心思想是分块处理:先预处理$l\le \sqrt p$时的所有余数,再通过幂运算性质$b^{l+k\sqrt p}\equiv n$转化为查表问题。扩展BSGS可处理非质数模数。本文还讨论了暴力递推优化与光速幂预处理,并给出了具体代码实现,通过逆元与哈希表快速定位解。最终算法在$\sqrt p$级别时间复杂度内高效求解离散对数。

2025-10-30 18:25:00 810

原创 题解:P12603 RuShiA(特殊情况下的 RSA 爆破)

本文介绍了9种不同的RSA加密破解方法,涵盖了从暴力破解到数学技巧的各种解法。主要内容包括:Pollard-rho算法破解简单RSA、利用质数相近特性枚举、通过GCD求公约数解密、三次方根直接求明文、利用指数互质特性辗转相除,以及通过代数关系推导私钥等方法。每种方法都配有对应的解密结果和实现思路,展示了RSA加密在不同参数设置下的脆弱性。最终提供的AC记录验证了这些方法的有效性。

2025-10-30 18:22:25 856

原创 题解:B4353 [信息与未来 2025] 程序套娃(暂无 SPJ)(Quine 和朴素程序嵌套)

洛谷 B4353 题解。

2025-10-30 18:16:57 798

原创 题解:P13976 数列分块入门 1(分块入门)

本文介绍了分块算法解决区间操作问题。将数列分成若干块,对于块内操作直接暴力修改,块间操作则处理不完整块并通过打标记优化。时间复杂度为O(n√n)。文中给出了C++实现代码,并讨论了数值溢出问题处理。最后提到进一步分块可优化为van Emde Boas树,实现更高效操作。

2025-10-30 18:15:33 618

原创 浅谈如何卡常

本文介绍了多种代码优化技巧(俗称"卡常"),重点分析了输入输出优化的不同实现方法。文章首先展示了基础快读的不足,逐步优化到使用fread缓冲区、mmap内存映射等底层方法,最终实现1.01s的极速读取。此外还介绍了循环展开、分支预测、内联优化等编译器可能自动完成的优化技术,强调编译器通常比人工更擅长这些优化。作者幽默地指出,与其过度优化,不如"v我50攒rp"(即靠运气),因为这些优化容易被评测机波动影响。全文通过具体代码示例展示了从基础到高级的优化技巧,为需要极致性能的场景提供了实用参考。

2025-10-30 18:14:04 1306

原创 纸上谈兵(LibreOJ #5 猜数字 1 题解)

通过几乎是纯数学方法(Task 2 不是,但是通过数学方法节约了大量枚举时间)解决了 LibreOJ #5 猜数字 1。

2025-06-10 16:49:50 1169 2

原创 浅谈二叉堆实现的优先队列

本文介绍了优先队列及实现方法之一——二叉堆的思想、原理以及代码实现。

2025-06-09 13:33:02 905

原创 浅谈 ST 表(Sparse Table,稀疏表)

本文介绍 ST 表(稀疏表)解决 RMQ 问题的方式。

2025-06-09 13:06:48 1063

原创 题解:洛谷 P10473 表达式计算4

本文介绍两种具有可扩展性的对中缀表达式进行求值的方法,同时作为洛谷 P10473 的置顶题解。

2025-06-09 13:00:12 692

原创 浅谈中国剩余定理(Chinese Remainder Theorem,CRT)

本文主要介绍中国剩余定理以及扩展中国剩余定理的思想、原理及实现。

2025-06-09 12:47:12 1054 2

原创 浅谈裴蜀定理

本文介绍裴蜀定理以及在 OI 中的用处。

2025-06-09 12:46:02 875 1

原创 电路/nandgame 相关

本章使用继电器造了 nand 门,然后使用 nand 门造了各种算术原件。

2025-02-11 16:10:23 1203

原创 浅谈线段树

蒟蒻终于学会线段树(指【模板】线段树111)啦!

2025-02-03 16:49:41 771

原创 Deepseek R1 的大模拟考试

前情提要:联网,R1。一共六道题,全部选自洛谷。

2025-01-28 15:02:57 1474

原创 复数入门

这是数轴(的一部分):这也是数轴的一部分:可见,数轴是无限长的,你可以在上面找到所有的实数,比如 114514,1919810,114514.1919810114514,1919810,114514.1919810114514,1919810,114514.1919810(114514.1919810114514.1919810114514.1919810 在 114514114514114514 和 114515114515114515 之间,靠近 114514114514114514)。等等,小学不

2024-09-29 17:04:29 1242

原创 微积分入门(真的很入门)

我们要求x→1lim​x−1x2−1​。右边我们都知道是什么意思,那左边是什么呢?意思就是,当x无限接近1时,右边的那一坨东西是什么。x无限接近1是什么意思?管他呢,我们先直接代入x1求一下呗,然后求出来一个非常谔谔的00​。然而当我们画出这个函数的图像后:这不就是一个x1吗?太 easy 了,通过直觉可知,答案是2。有个东东叫做:验算。阿哲,难道答案就是“未定义”吗?当你重新回去审视题面,你发现了被你直接遗忘掉的x→1lim​。

2024-09-29 17:00:56 3651 3

原创 鸡兔同笼,但是线性代数

fkx⃗kfx⃗fx⃗y⃗fx⃗fy⃗fkxfxy​​kfxfxfy​​这个fff就是一个线性映射,通常记为AAA。向量是什么:一个vector,还不懂吗。哦读者可能不是 C艹 党,所以说一下:向量就是一系列数,类似我们幼儿园就学过的数对。向量也可以用来表示一个点,学习时通常是222维或333和是坐标轴,是xxx轴,H是yyy轴,每条小线段长度为111我们要表示图中的O点,就可以用数对,注意到O点在第3。

2024-09-27 22:26:36 2505 2

原创 NtDLL.dll Nt开头函数大全 - NtPowerInformation

个参数目前必须填这几个(别说 PlatformInfomation 未定义,在 Windows.h 里),后两个参数分别填 PlatformInfo(用于接收返回值)的地址和大小。,代表的是 Windows 是否支持你的设备的电源(电池)……,否则你的程序怎么可能被运行呢(人择原理!这个函数是用来获得电源信息的,但是呢……看起来很厉害,实际上目前。类型目前只有一个布尔值。

2024-08-25 13:02:23 561

原创 哈夫曼编码(哈夫曼树)

哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。——百度百科看得懂吗?反正我看不懂。到底什么是哈夫曼编码?是f2f_2f2​。为什么?哈夫曼编码,其实就是在没有二义性的情况下的最短编码方法。f2f_2f2​。

2024-06-20 21:03:24 1237

原创 分治乘法详细讲解

看得懂吧?比如X123456Y987654,则n3A123B456C987D654。前置知识:整数末尾添0方法(不可能不会吧),就是乘10,当然添n个零就是乘10n2n​个就是乘102n​。

2024-06-09 16:06:30 694

原创 分数裂项方法及技巧

裂差知识点 111b−aab=1a−1b \frac{b-a}{ab} = \frac{1}{a} - \frac{1}{b} abb−a​=a1​−b1​证明:b−aab=bab−aab=1a−1b \begin{align*} \\&\frac{b-a}{ab} \\= &\frac{b}{ab} - \frac{a}{ab} \\= &\frac{1}{a} - \frac{1}{b} \\\end{align*} ==​abb−a​abb​−aba​a1​−b

2024-05-26 22:50:28 2643 2

原创 走迷宫(游戏)

先放几个截图:(开局,走了几步)(地图有两部分,这里位于交界口)(困难部分)

2024-05-25 19:50:18 1299

原创 2048小游戏(2.0)

1.0在。感觉1.0没啥好玩的,是吧?玩了一会儿就玩腻了。所以要开发2.0!

2024-02-19 16:57:44 923 1

原创 Python 自动打字,速度随便(目前只支持英文)

小猴编程-打字练习不错吧?不过注意速度不能超过500Mbps(500字/分,typewrite第二个参数约0.12)

2024-02-08 19:04:46 1135

原创 nginx日记 - Day2 修改nginx.conf,图片,页中页

当你想要更改index.html路径或者给index.html改名(更利于项目开发)的时候,就需要更改。

2024-01-24 21:02:04 554

原创 nginx日记-Day1 下载安装,Hello World

nginx日记,没错。

2024-01-24 19:13:20 412

原创 跑酷小游戏

这个跑酷小游戏不是真正意义上的那种,是一个人一直往前跑,按空格键改变方向(上/下),碰到齿轮失败,和poki里的差不多(在poki里的名字忘了)。

2024-01-10 13:28:32 546

原创 高精度C++

高精

2024-01-05 20:11:27 653

原创 扫雷小游戏

做了2048,开始做扫雷。

2024-01-05 19:47:41 468

原创 2048小游戏制作

好无聊啊,做个2048小游戏玩玩吧。

2024-01-05 18:51:59 603

原创 shutdown用法(可以用来坑人~~)

猜猜我参考了谁的

2023-09-24 19:14:48 551

原创 C++教程

aaa没写完不要看

2023-09-04 10:25:45 2173 1

原创 查看DLL文件内部

大家是不是有时候想要查看DLL文件的内容呢?打开记事本查看当然是乱码啊!先给大家看看记事本吧:其实虽然说是乱码,也不全是,比如This program cannot be run in DOS mode,这句话是有含义的,具体含义在本文末尾介绍,还有.rdata .data .text pdata .medate .rsrc .reloc等,是一些段名。

2023-06-23 11:39:14 999 6

原创 C++ 没有main/wmain/WinMain/wWinMain函数还可以运行吗

我:C++ 没有main/wmain/WinMain/wWinMain函数还可以运行吗?小白:你觉得呢?难道还可以???我:Yes,可以!白:上代码证明!!!我:好!没问题!接着。。。。。。小白白:没法链接啊我:你以为不需要在编译时加一点小小的改变?白白:好家伙......我认了!我:其实在某些情况下,"反驳xxx"和"嘿嘿"两个字符串要变成L"反驳xxx"和L"嘿嘿"哦(平台、编译器相关)

2023-05-17 14:13:52 438

原创 C++杂记(有感而发)

C++的杂记(会不定期更新,你应该知道这意味着什么)

2023-02-18 21:10:27 215 1

原创 Windows下的Qt5.9基础教程(2:用VS编写Qt程序,也是Hello world)

被Qt的文本编辑器逼的强迫症看向这里!这是上一篇文章的后续,文中给出上一篇文章的链接!

2023-02-12 19:44:11 898 2

原创 Windows下的Qt5.9基础教程(1:下载与hello world小程序)

针对小白最最最基础的Qt安装教程,内涵如何做Hello World!小程序。

2023-02-04 21:52:51 1553

高精度类(无压位),C++,基本可以像基本类型一样使用

支持的各种函数: 构造函数,类型支持void(无参数),const IAKIOI &,const string &,const long long &,const vector<int> & size():获取位数 reverse():反转 operator string():转化为string operator vector<int>():转化为vector<int> operator[]:获取某一位上的值 operator=:赋值,支持的类型和构造函数一样(除去void) operator+、-、*、/、%:五则运算 operator+=、-=、*=、/=:五则运算加上赋值 operator>>:输入,用于cin >> xxx operator<<:输出,cout << xxx operator==,!=,>,<,>=,<=:比较大小,第二个操作数(运算符后面那个)支持IAKIOI,int 时间复杂度,n表示第一个操作数,m表示第二个操作数: 加法:O(max(n, m)) 减法:O(max(n, m)) 乘法:O(nm),抱歉我不会 FFT。 除法:O(nm) 取模:O(nm)

2024-08-13

PsTools,含PsExec,还有我自制的一个bat文件

"use System user and run program" 程序名 可以让这个程序以System用户执行。 但是有些杀毒软件会报毒,要放行。 例: "use System user and run program" C:\Programs\hello.exe 就会让C:\Programs\hello.exe以System用户执行,但是不是永久,退出就没了。

2023-06-23

Winhex,查看/编辑PE文件

Winhex,查看/编辑PE文件

2023-06-23

PE explorer:查看PE文件

PE explorer:查看PE文件

2023-06-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除