- 博客(144)
- 收藏
- 关注
原创 题海拾贝:P1208 [USACO1.3] 混合牛奶 Mixing Milk
在线课程:Coursera的《Algorithms Specialization》(Stanford)、MIT OpenCourseWare。- 编程基础:至少掌握一门语言(如Python、C++或Java),熟悉循环、递归、数据结构(数组、链表、树等)。- 刷题平台:LeetCode(按难度分类)、Codeforces(竞赛向)、HackerRank(基础巩固)。- 数学基础:离散数学、概率论、线性代数(尤其是图论、递归、时间复杂度分析)。- 尝试用算法解决生活问题(如用动态规划优化个人时间安排)。
2025-05-28 17:23:58
801
2
原创 题海拾贝:P2910 [USACO08OPEN] Clear And Present Danger S
【代码】题海拾贝:P2910 [USACO08OPEN] Clear And Present Danger S。
2025-05-19 10:21:49
311
1
原创 C++修炼:AVL树
AVL树是一种自平衡的二叉搜索树(BST),由G.M. Adelson-Velsky和E.M. Landis在1962年发明。它是计算机科学中最早发明的自平衡二叉搜索树结构之一。其实就是二叉搜索树的升级版。因为我们上期分析过了,二叉搜索树在特殊情况下高度会到达N:那么有什么办法让他平衡一下呢?如果说我们能够控制这棵树的高度,让这棵树趋近一颗完全二叉树,那么他的插入效率是非常高的,因为无论沿着哪条路径遍历都是一样的高度,不会出现这种特殊情况。
2025-05-19 10:20:59
798
1
原创 C++修炼:继承
目录1、继承引入 2、访问方式3、继承类模板4、基类和派生类间的转换5、继承中的作用域6、派生类的默认成员函数7、继承与友元8、继承与静态成员9、菱形继承10、继承和组合 C++三大特性:封装、继承、多态。封装我们了解过了,这一期我们就来介绍一下继承。 继承的核心思想是允许一个类(派生类)基于另一个类(基类)扩展功能,实现代码复用和层次化设计。继承是类设计层次的复用。 我举个例子帮助大家了解一下这个东西的意义。比方说我定义一个person类,这个类的成员变量包括
2025-05-13 14:38:00
1081
2
原创 C++修炼:模板进阶
1、模板复用了代码,节省资源,更快地迭代器开发,C++的标准模板库(STL)因此而产生。2、增强了代码的灵活性。1、会导致代码膨胀问题,导致编译时间变长。2、出现模板编译错误时,错误信息非常凌乱,不易定位错误。好了,今天的内容就分享到这,我们下期再见!
2025-05-12 11:26:12
962
5
原创 C++修炼:stack和queue
deque可以说是把两者融合了一下,但是由于他的底层逻辑设计起来比较复杂,他的头插尾插效率高,但是高不过list,他的cpu缓存命中率比list优秀,但是也优秀不过vector。我们在这里不模拟实现他,但是我们说一下他的底层是什么样子的。我们在写文章的时候,如果想引用什么名人名言可以去百度上搜索,比如我搜索出了一段鲁迅说过的话,想把他复制到我的文章中,我肯定不是一个字一个字的复制的吧?,是这一块内存一个数据,那一块内存一个数据,倘若我对于某一块内存扫描64字节的话,可能只能挪走一个数据,甚至一个也挪不到。
2025-05-10 16:04:33
1226
5
原创 C++修炼:list模拟实现
目录 1、list的底层结构2、list容器的构造3、迭代器类的完善4、list类的完善 4.1、迭代器操作 4.2、insert4.3、erase4.4、其他复用接口4.5、初始化列表和拷贝构造4.6、赋值运算符重载4.7、析构函数5、补充 list底层是双向带头循环链表,这意味着我们可以高效的在list中插入,删除节点。但是不支持随机访问。如果我们想要获取特定位置的元素需要遍历链表。 list的模拟实现我们需要三个类,第一个类是节点,我们先把节点
2025-04-27 17:48:17
1341
7
原创 题海拾贝:P2858 [USACO06FEB] Treats for the Cows G/S
【代码】题海拾贝:P2858 [USACO06FEB] Treats for the Cows G/S。
2025-04-27 17:46:37
285
原创 C++修炼:string类的使用
是 C++ 标准库中用于处理字符串的头文件。我们可以用string提供的丰富的接口来实现各种各样的字符串操作。string类的底层其实就是顺序表,只不过在存储字符的同时还多存储了一个‘\0’。再后续的使用讲解中大家会感受到string的强大。 使用string类需要包含头文件: 好的现在我尽量用最直白的语言告诉大家为什么这个string类非常方便。 我们创建了一个helloworld字符串,并且把他打印了出来。现在的字符串就像int, char一
2025-03-28 14:17:35
872
6
原创 C++修炼:模板初见
目录 1、泛型编程 2、函数模板2.1、模板使用2.2、模板样式:2.3、函数模板实例化2.3.1、隐式实例化2.3.2、显式实例化 2.4、模板参数匹配规则3、类模板 首先我们来看下面一个场景: 我们实现了三个加法函数,因为有函数重载的支持,我们在调用函数的时候会自动调用匹配的函数,但是这未免也太麻烦了吧?要写这么多重复的代码,那么有没有一种方式,告诉编译器一个模子,让编译器自动生成这些函数呢? C++中是支持这种“模子”的。而泛型编程是一种编写与具体数据
2025-03-23 12:39:43
1251
4
原创 题海拾贝:P1314 [NOIP 2011 提高组] 聪明的质监员
【代码】题海拾贝:P1314 [NOIP 2011 提高组] 聪明的质监员。
2025-03-21 16:28:48
265
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人