刷新
平衡树

博主头像 平衡树?何方神圣 平时我们最害怕的是什么!暴力,没错,暴力的的时间复杂度通常会高得可怕,甚至使你一分不得,在“树论”上也是一样的,倘若使用普通的暴力,很难应对极端情况(比如退化成链或者接近于链),那有没有什么方法来优化掉树上暴力呢?设想一下:树上暴力之所以时间复杂度高,还不是因为树长得太奇怪了?既然 ...

[技术探索者手记] C++自学之路 × FFmpeg多媒体开发日志

博主头像 我是一名.NET开发者,最近开始学习C++。目前,我已经掌握了C++的基础语法和入门知识,并对FFmpeg产生了浓厚的兴趣。接下来,我计划自学与FFmpeg相关的技术内容,并记录自己的学习过程。欢迎大家提出宝贵意见,我会虚心接受并采纳大家的建议。谢谢!我是一名.NET开发者,最近开始学习C++。目前 ...

最小生成树 & 严格次小生成树

博主头像 最小生成树 何为最小生成树? 有一类问题:给定一张图,可以删除若干条边,在不改变连通性(一般是全联通)的情况下,权值和最小的方案是什么?没错,这就是最小生成树问题(MST问题)。那么基本性质其实连聪明的小学生都能看出来,应当使得最后留下 \(n-1\) 条边且没有环路得到情况下才有可能构成生成树,这 ...

final year project:C++手写numpy并移植到RISC-V上——纪念我在中科院实习的日子

博主头像 我毕设做的项目是用C++去实现一个Numpy,因为我是大数据专业,Numpy又是跟数据分析有关的工具,所以我打算自己动手去实现一个小型的Numpy,目前代码规模大概在六千多行左右,并且可以成功移植到OpenEuler RISC-V上面。在这个项目当中,我实现了比较多的数学函数,并且用到了各种高性能有 ...

牛客周赛91题解

博主头像 牛客周赛91 https://ac.nowcoder.com/acm/contest/108038#question A.while https://ac.nowcoder.com/acm/contest/108038/A 签到题:只需要判断当前字符串与while有多少个位置上的字符不相同即可。 # ...

指向const的指针和const指针的区别

博主头像 1. 指向常量的指针(指向const的指针) 指向const的指针,不能改变其所指变量(对象)的值,或者说不能通过这个指向const的指针去改变所指的变量(对象)的值 // 指向const的指针,不能通过*cptr修改指向的变量(对象)的值 const double pi = 3.14; const ...

C++中的map vs unordered_map:选错容器让你的程序慢10倍!

博主头像 大家好!今天咱们聊一个看似简单却经常被忽视的话题:C++中的map和unordered_map到底有啥区别? 选错了容器,你的程序可能就慢了 10 倍不止!这可不是危言耸听,而是实打实的性能差距。 一、一个真实的"血泪"故事 前几天我同事小王一脸沮丧地走过来:"我的程序怎么这么慢啊,数据量一大就卡得 ...

60个 Linux C/C++ 实战小项目,挑战年薪30万+

博主头像 大家好啊!我是小康。 最近公众号后台收到好多小伙伴的私信: "小康哥,我已经把《C++ Primer》啃完了,Linux 环境也玩得差不多了,但就是不知道该做啥项目练手..." "感觉自己懂了一堆理论,但一到写项目就懵圈,有没有适合新手的 C++ 小项目推荐啊?" "能不能推荐点代码量不太大的项目? ...

树链剖分/重链剖分

博主头像 什么是树链剖分/重链剖分 我们可以弄一道例题来看看: 现在给定一棵 \(n(1 \le n \le 10^5)\) 节点的树,每个节点上有一个数值,现在你可以进行 $m ( 1 \le m \le 10^5) $ 次操作。格式如下: 1 x z 表示将 \(x\) 到 \(y\) 最短路径上的节点值 ...

01 C++ 程序设计基础

博主头像 头文件 iostream ​ cin/cout 输入输出流对象 ​ << 流插入操作符, >> 流提取操作符 iomanip 流操作符 功能 stew(n) 设置字符宽度(仅对一项有效),可用于cin setprecision(n) 设置浮点数精度(对多项有效) fixed 固定小数点(对多项有效) ...

技术书籍推荐(003):电子书免费下载

博主头像 40. C++标准程序库——自修教程与参考手册 免费 电子书 PDF 下载 下载地址: http://t-book.sunlogging.com/2025/03/29/book/book_0040/ 书籍简介: 本书是深入了解C++标准程序库的重要参考书籍,兼具教程与手册的双重功能。 作为教程,它循 ...

图论-最小生成树-基础

博主头像 0x0f 前置 前置芝士:并查集,图论基础,数论基础 其实最小生成树只是某个人用来装*的 —— 某老师 1x0f 简介 首先给出生成子图的定义(From OI Wiki): 嗯……有点抽象,不妨简化一下: 有一个图 \(G\),如果删去 \(G\) 中的若干条边与若干个点得到一个图 \(G'\),且 ...

Dijkstra单源最短路模板

博主头像 来更新一下雷达图的凹角吧,\(Dijkstra\) 可以处理单源最短路,即跑一次可以求出指定点到每个点的最短距离。无法处理负边权。 #include <bits/stdc++.h> using namespace std; int pre[100010], k; //存图 bool vis[1000 ...

倍增 & Tarjan 求解LCA

博主头像 什么是LCA? 假设我们有一棵树: 1 / \ 2 3 / \ / 4 5 6 对于 \(2\) 和 \(6\) 的LCA,就是最近公共祖先,即为距离 \(2\) 和 \(6\) 最近的两个节点公有的节点。怎么求呢?这里就有三种算法。 普通算法 我们可以把这一棵树存好,方式随便(这里展示使用邻接表) ...

【work记录:c++web聊天服务器】完善muduo服务器的数据发送|实现服务端与客户端通信|实现web前端的状态展示

博主头像 日期:2025.4.16 2025.4.17(凌晨) 学习内容: 简单的登录页面 把muduo服务器里的json数据都(大部分)添加了uid,用于boost服务器发送数据给conn。 大概的了解前端js 目前boost服务器出现了段错误 个人总结: 今日主要的内容是把一个简单的登录页面搞了出来,大概 ...

指针与数组

指针与数组 指针操作数组元素 在C语言中,数组名实际上就是一个指向数组首元素的指针。换句话说,可以把数组名视为指向了数组的第一个元素的内存地址。 例如,对于一个整型数组 int arry[5] = {1, 2, 3, 4, 5},我们可以通过数组名 arry 或者通过取指针操作符 &arry[0] ...

C++11特性

Move semantics 移动语义 [!tip] 在 C++98 中,所有的对象拷贝都使用了 拷贝构造函数 或 拷贝赋值运算符,这通常需要深拷贝资源,例如动态分配的内存或文件句柄。这会导致性能开销,尤其是对于临时对象而言(如函数返回值)。 为了解决这个问题,C++11 引入了移动语义,通过区分“ ...

如何写出算法题?-算法思维

博主头像 算法思维过程 能问出这个问题?你已经走在提升算法水平的核心路上了。 刷题本身只是手段,真正关键的就是「算法思维过程」。 下面总结给你一套可执行的“算法思维训练体系”,直接拿去用: 一、转变思维方式:从“找答案”转为“学过程” ✅ 错题是宝藏,做不出来没关系,核心是: 想清楚:我为什么会卡住? ...

QT 可绑定属性( QProperty、QObjectBindableProperty、QObjectComputedProperty),简化信号、槽(SIGNAL、SLOT)机制的方法

QT提供的可绑定属性是指这些属性可以绑定到其他值或表达式上(通常是 C++ lambda 表达式)。如果属性是通过表达式进行绑定,该属性会跟随表达式自动更新。可绑定属性由 QProperty 类和 QObjectBindableProperty 类实现,它们都继承自 QPropertyData 类。 ...

123···19>