自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷 P3378 【模板】堆 题解——从零开始看懂堆

堆是一种特殊的完全二叉树小根堆(本题需要):每个节点的值 ≤ 它的子节点的值这意味着:根节点就是最小值 ✅从上到下越来越小(不严格,兄弟之间没有大小关系)大根堆(反过来):每个节点的值 ≥ 它的子节点的值学会手写堆:理解 "上滤" 和 "下滤" 的核心思想会用 STL:实际做题时节省时间注意细节:边界条件和输入输出优化很重要掌握了堆,你就能解决:动态求最小值/最大值堆排序求第 k 大的数Dijkstra 算法的优化哈夫曼编码练习题推荐P1090 合并果子P1168 中位数。

2026-05-06 21:28:58 426

原创 P4913 【深基16.例3】二叉树深度题解

树的深度定义:根到最远叶子结点的层数递推公式BFS按层遍历,天然适合求深度DFS递归最简洁,但注意栈深度限制大数据下优先用BFS,安全稳定。

2026-04-24 16:59:18 337

原创 P1165 日志分析题解

这题是典型的栈问题,三种操作1、0入栈x2、1出栈3、2查询最大值乍一看很简单,定义一个栈,循环判断三种条件进行操作就行了,但是再一看,诶,也不难!哈哈哈哈哈哈,不开玩笑了,对于我这种菜鸡来说还是有必要写一写的,我当时在做这题的时候就在想怎么找到这个最大值?如果我用一个普通的栈,那我每次查询都需要遍历完整个栈,时间复杂度 O(n),但 n 最大 20 万,所以我TLE了。。。如果像之前用一个变量记录当前最大值,出栈时,最大值弹出,我是不知道新的最大值是多少的。

2026-04-14 20:33:19 29

原创 公益C班栈学习笔记

scanfprintfcincoutstk.size()是无符号整数类型,所以需要强制转型,但其实这句可以有更好的写法cout会自动识别stk.size()返回的size_t类型,更快更简洁。

2026-04-14 20:14:09 22

原创 B3614 【模板】栈题解

数据读入对效率的影响,所以要用scanf和printf,我试了cin和cout,只能通过部分样例,除非用加速,但是加速看着有点复杂,不想了解,建议还是直接用c的输入输出。逐行输入数据组,定义一个栈stk存储下面的操作,定义为unsigned long long因为x的取值范围。cin、cout和scanf、printf不能混用,这一点我深刻认识到了,会输入错乱,所以建议用c的就行。逐行输入操作,op数组用于存放输入的字符串,便于后面判断是栈的哪些操作。要注意的点说完了,下面直接上ac的代码。

2026-04-09 18:01:07 40

原创 洛谷P1678烦恼的高考志愿题解

输入:第一行、m所学校,n位学生第二行、m个预计录取分数第三行、n个学生估分成绩输出:最小不满意度之和。

2026-04-02 17:23:13 468

空空如也

空空如也

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

TA关注的人

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