排序
C++继承、多继承、菱形继承、虚继承 (万字)
C++继承、多继承、菱形继承、虚继承 (万字),继承 目录 继承 继承 继承的访问权限 子类赋值给父类 赋值兼容规则 “天然”的行为 验证: 1. 其他权限继承能否支持赋值兼容规则 2.是否'天然',有没有...
枚举和枚举的取值范围
枚举和枚举的取值范围,1,枚举 1.1 基本使用 #include <iostream> using namespace std; // 枚举对应的值为[0,1,2,3] enum color {red, blue, green, yellow}; int main() { color c; c =...
LeetCode53. 最大子数组和
LeetCode53. 最大子数组和,题目链接:https://leetcode.cn/problems/maximum-subarray/description/ 题目叙述: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含...
左偏树(可并堆)
左偏树(可并堆),左偏树(可并堆) 定义 在这之前,我们先来阐述一些定义: 外节点:\(ls\) 或 \(rs\) 为空的节点 距离:节点的距离 \(dist_x\) 定义为节点 \(x\) 到距 \(x\) 最近的外节点的距离,...
CF1264D1/2 Beautiful Bracket Sequence (easy/hard version)
CF1264D1/2 Beautiful Bracket Sequence (easy/hard version),这篇题解相对于其它题解对小白要友好一些。 模拟赛题,赛时 sb 了,\(n^2\) 都不会。 思路: 考虑什么情况下深度最大,容易发现 ((...
P10789 [NOI2024] 登山
P10789 [NOI2024] 登山,思路: 我们可以对于每个 \(i\) 找到它能跳到的最远的点和最近的点,倍增求一下 \(k\) 级祖先即可,令 \([l_i,r_i]\) 新表示 \(i\) 能跳到其祖先中深度在 \([l_i,r_i]\) ...
C++11 线程同步接口std::condition_variable和std::future的简单使用
C++11 线程同步接口std::condition_variable和std::future的简单使用,std::condition_variable 条件变量std::condition_variable有wait和notify接口用于线程间的同步。如下图所示,Thread 2阻塞...
YU_C++算法学习笔记 · 枚举
YU_C++算法学习笔记 · 枚举,1.1 枚举类问题 · 枚举是什么? 枚举也叫穷举,是计算机解决问题最基本的策略。其方法是一一列举所有的可能性,根据题意要求进行合理的判断或计算,最终得到答案,...
算法比赛中常用的快读
算法比赛中常用的快读,在算法比赛中,快读是一个常用的技巧,用于提高输入数据的速度。常见的快读方法有以下几种: 1. C++ 中的快读 C++ 中常用 scanf 和 getchar 进行快读。 #include <cstd...
Github开源项目源码阅读(progschjThreadPool)
Github开源项目源码阅读(progschjThreadPool),项目地址:https://github.com/progschj/ThreadPool 项目源码: #ifndef THREAD_POOL_H #define THREAD_POOL_H include <vector> include ...
2025春季钉耙编程3题解
2025春季钉耙编程3题解,翻车了 1005 没什么好说的,并查集维护就行 void solve(){ int n; cin>>n; map<int,bool>vis; vector<int>a(n+1); for(int i=1;i<=n;i++){ cin>...
倍增 & Tarjan 求解LCA
倍增 & Tarjan 求解LCA,什么是LCA? 假设我们有一棵树: 1 / \ 2 3 / \ / 4 5 6 对于 \(2\) 和 \(6\) 的LCA,就是最近公共祖先,即为距离 \(2\) 和 \(6\) 最近的两个节点公有的节点。怎么求呢?...





![P10789 [NOI2024] 登山-拾光赋](https://cos.blogs.ink/wp-content/uploads/2024/10/0858a9a5e7a9ace74ffa7fda025a14d4-300x187.webp)







