自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 入门数据结构:顺序表(SqList)完整实现

顺序表作为数据结构的入门知识点,难度不大,但细节很多。本文实现的静态顺序表,覆盖了所有基础操作,修复了新手易踩的坑,代码注释详细,适合新手入门练习。其实只要掌握“连续存储”“位序与下标转换”“元素移动”这三个核心点,就能轻松实现顺序表的所有操作。后续可以尝试优化成动态顺序表(用new动态分配内存,可扩容),进一步加深对线性结构的理解。

2026-03-17 17:36:11 370

原创 部分笔记总结 一

埃拉托斯特尼筛法(线性筛/欧拉筛)的实现,用于高效筛选质数并输出所有不超过n的质数。使用,时间复杂度为,比传统埃氏筛 O(n log log n) 更优每个合数只被其最小质因子筛掉一次。

2026-02-27 16:11:07 910

原创 DFS(Depth-First Search),深度优先搜索

有个容易犯的错误就是,恢复现场的时候,有的是直接覆盖前面的数值,但实际上也有回溯了;有的如果用的是容器,在尾部插入了数据,回溯的时候要删除尾部(恢复现场)。另外,今天就是2026年2月16日,除夕。祝大家除夕快乐,除去心中的烦恼,除去疲惫,祝大家新年快乐,心想事成,万事如意,步步高升!如果是数组的,因为它是按照下标赋值的,可以把之前的值覆盖住就间接回溯了。DFS(Depth-First Search),深度优先搜索。八皇后问题1(显示出每种可行情况)八皇后问题2(计数可行情况)

2026-02-16 21:05:26 308

原创 Map(映射)的使用

Map是键值对(Key-Value) 结构的关联式容器,核心作用是通过唯一的键(Key) 快速查找对应的值(Value),像一本字典:用“单词(Key)”查“释义(Value)”,Key不可重复,Value可重复、可修改。1. C++: std::map (红黑树,有序)、 std::unordered_map (哈希,无序),需指定键值类型(如 map<int, string> ),无 get 方法,直接通过 [] 访问;2. 快速查找:如根据学生ID查学生信息(Key=ID,Value=学生对象);

2026-02-09 10:52:29 964 1

原创 CF思维题训练(THINKING TRAINING)

如果是升序序列可以证明到子序列选偶数个就是不会被个数整除,因为肯定子序列中偶数奇数占一半,求和就是奇数,奇数除以偶数是不整除的,奇数的话还是可以因为此时的升序是等差数列,所以我们把数列从开头相邻两个交换位置即可。我们开始思考,由于是1到n组合的序列,如果子序列是本身的话,个数是n,那求和是。这题我就讲讲线索,如果a[i]比b[i]小,那我们想办法变大吧,就看i之前的a有没有1,通过若干次加一到a[i]就可以使得a[i]和b[i]一样大,相等就不用管,a[i]比b[i]大的话就反过来看前面有没有-1。

2026-02-04 10:49:35 263 1

原创 Forethought Future Cup - Final Round (Onsite Finalists Only)---A. Hide and Seek

设first(x)表示询问x的第一次的时间,last(x)是最后一次的时间。有效的(a,b)要满足last(b)<first(a)。如果不是这样的话,假设a被询问不止一次,没有满足last(b)<first(a)那就是说明在询问第一次a的时候后面还存在询问最后一个b,那你把a转移到b不就是等着要被询问嘛。用所有可能的减去无效的就是有效的。那但凡a,b里有一个数是Bob没有提问到的,那那个操作就是有效的,可以避开Bob猜中。当a为没有提问到的,无论b是什么,也就是说转移到哪都无所谓,因为可以都提问完再转移。

2026-02-01 00:09:18 300

原创 Codeforces Round 1062 (Div. 4)_Yet Another Array Problem

【代码】Codeforces Round 1062 (Div. 4)_Yet Another Array Problem。

2026-01-30 18:23:55 87

原创 P1093 [NOIP 2007 普及组] 奖学金

【代码】P1093 [NOIP 2007 普及组] 奖学金。

2026-01-27 12:01:32 20

原创 二进制 与 十进制 互转

【代码】二进制 与 十进制 互转。

2026-01-25 11:32:00 240

原创 C++快速幂(a^n)%p

一下是快速幂的两种计算方法,迭代或递归,推荐使用迭代版因为无递开销,效率更高,没有栈溢出风险,时间复杂度O(logn);空间复杂度O(1);递归的时间复杂度和迭代的一样,空间复杂度是O(logn),有递归函数调用开销。

2026-01-25 10:36:12 147

原创 质因数分解

【代码】质因数分解。

2026-01-23 23:57:22 34

原创 简单修改一个n,让它变成7的倍数

用了窍门之后,相差真的大啊。

2026-01-23 11:42:58 39

原创 How many strings B are there in the string A?

【代码】How many strings B are there in the string A?

2026-01-22 22:24:31 194

原创 B. Fortune Telling(bitmasks,math)from codeforces

反复琢磨,思考题目我们得出了解法。

2026-01-22 22:08:56 152

原创 我第一次使用Java写题

【代码】我第一次使用Java写题。

2026-01-06 20:56:26 376

原创 洛谷P1598 [USACO03FEB] 垂直柱状图 Vertical Histogram

【代码】洛谷P1598 [USACO03FEB] 垂直柱状图 Vertical Histogram。

2025-12-28 19:18:28 119

原创 一道关于约瑟夫问题的question

【代码】一道关于约瑟夫问题的question。

2025-12-28 19:10:58 274

原创 模拟算法,高位数乘法&加法

这可以用于高位正整数的加法和乘法,比如阶乘运算、密码学等等。

2025-12-22 13:12:55 464

原创 C语言链表2

【代码】C语言链表2。

2025-12-18 08:58:41 358

原创 C语言链表list

【代码】C语言链表list。

2025-12-17 22:19:12 220

原创 高精度正整数加法

高精度算法用于处理超出计算机基本数据类型(int,long long等)范围的大数字(如100位整数,高精度小数)的运算方法,本质就是用数组/字符串模拟手工计算。计算机默认数据类型限制,超过就会溢出。核心思想就是将大的数字按位储存,模拟手工加减乘除的进位/错位逻辑。

2025-11-29 17:07:52 287

原创 选择排序与快速排序

基于 “分治法”,选择一个元素作为 “基准(pivot)”,将序列分为两部分:小于基准的元素放左边,大于基准的放右边(相等元素可放任意一侧),然后递归对左右两部分重复排序,直到子序列长度为 1 或 0。:每次从待排序序列中找到最小(或最大)的元素,将其与序列的起始位置(或当前位置)交换,然后在剩余元素中重复这一过程,直到整个序列有序。:优点是平均效率高,实际应用中性能优异(缓存友好,局部性好)。,若基准选第一个 3,右侧的 3 可能被交换到左侧)。(如内存极小)的场景,不适合大规模数据(效率太低)。

2025-10-22 20:22:06 528

原创 C语言贪心算法

什么是贪心呢,就是说用最小的付出得到最大的收获。它有很广泛的应用,如哈夫曼树、单元最短路径、构造最小生成数的Prim算法和Kruskal算法等。举个简单的例子你去买东西付钱的时候你钱包里有各种各样的面值钞票,你如果想使用尽量少的张数,你就会将面值大的用多几张。不过以下我会举例一个更好理解的例子(用同样的钱去买尽可能多的月饼,不是不很贪心,很贪吃)这道题使用了对价格进行快速排序,变成从小到大,再将价格一个个加,加一次计数一次,直到钱不够了。这就是用现有的钱买到尽可能多的月饼。希望这能帮助到大家。

2025-10-21 13:46:42 517

空空如也

空空如也

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

TA关注的人

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