摘要: 本文全面介绍了C++标准模板库(STL)的基础知识,涵盖了容器、算法和迭代器的概念及其常见应用,旨在帮助读者掌握STL的基本用法和重要概念。 阅读全文
posted @ 2024-05-26 14:14 Macw 阅读(821) 评论(0) 推荐(1) 编辑
摘要: 线段树的数据结构、基本原理、构建方法、区间查询和更新操作,以及其在解决区间最值问题和进行优化(如懒标记)中的应用和代码实现。 阅读全文
posted @ 2024-05-25 11:24 Macw 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 在前几篇文章当中,我们已经讨论了许多有关数论的知识点了,因此 Macw 决定写几篇数据结构的文章缓一缓。(整天写数论相关的内容容易自闭(bushi))。 今天我们将会围绕一个新的数据结构,并查集(Disjoint Set Union)来展开。 集合与集合的常见操作 在谈论到并查集的时候,首先讨论一个 阅读全文
posted @ 2024-05-22 13:55 Macw 阅读(14) 评论(0) 推荐(1) 编辑
摘要: 在上一篇文章中,我们已经熟知了有关公约数和欧几里得算法的相关事宜。详情参见:欧几里得算法求最大公约数。本文将作为上篇文章内容的一个延续,简要阐述拓展欧几里得算法和中国剩余定理。 拓展欧几里得算法 拓展欧几里得算法(Extended Euclidian Algorithm),是欧几里得算法的扩展版本, 阅读全文
posted @ 2024-05-22 12:03 Macw 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 最大公约数 所为的最大公约数,是指两个或多个整数共有的约数中最大的那个数。换句话说,它是能同时整除给定的整数的最大整数。 例如,对于整数 \(12\) 和 \(18\),它们的公约数有 \(1、2、3、6\),其中最大的公约数为6,因此它们的最大公约数为 \(6\)。最大公约数通常用符号 \(\gc 阅读全文
posted @ 2024-04-26 22:38 Macw 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 什么是快速幂,为什么要使用快速幂? Macw: 快速幂有好多好处。 Penelope: 例如? Macw: 它比较快。 见名知意,快速幂算法可以在非常短的时间内求出一个数的 \(n\) 次幂。虽然快速幂在初学阶段的应用不算太多,但是快速幂背后的思想是非常值得我们去理解的。 举例而言,如果我们要求出 阅读全文
posted @ 2024-04-26 11:32 Macw 阅读(23) 评论(0) 推荐(1) 编辑
摘要: 题目大意,给定在平面直角坐标系中的多个点,判断有多少个三元组 \((A, B, C)\) 满足共线性质。 题目链接:A566.三点共线。 大题思路就是暴力所有的三元组,判断三个元素的斜率是否相同即可。其实还有其他方法可以做,我个人感觉用斜率法最简单。 有几点需要注意: 在计算斜率的时候,如果多个点处 阅读全文
posted @ 2024-04-25 11:53 Macw 阅读(33) 评论(0) 推荐(0) 编辑
摘要: \(\bf{用 CDQ 分治可以极大地提升程序运行的速度。}\) \(\bf{实测在本数据量下,可以在 \color{red}10ms\color{normal}} 内通过所有的测试点!\) 关于折半搜索的内容可以参考这两篇题解: 火星背包 - アイドル 火星背包|折半搜索 - Macw 思路分析 阅读全文
posted @ 2024-04-16 15:30 Macw 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 为什么要写题解? 首先要清楚知道一点,写题解不仅是帮助别人在做题遇到困难时指明方向,更是提升自己的最快途径。经常有人问我:“如何提升自己的程序设计能力”。我都会回答:“写题解”。 写题解可以帮助你彻底掌握某一个知识点。无论一道题目是否是你独立写出来的,你都应该去尝试写题解。对于许多人来说,他们往往在 阅读全文
posted @ 2024-04-16 15:27 Macw 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 题目链接:眼红的同学 题干信息很简单,看到数据量之后就不简单了。在数据量小的时候可以使用双层循环暴力的方法来求答案。显然对于这道题而言O(n^2)是完全过不去的。 前置知识: 使用树状数组求逆序对 会归并排序等分治算法。 如果想要了解跟多信息,可以自行在搜索引擎搜索有关CDQ分治的练习题。 考虑使用 阅读全文
posted @ 2024-03-18 09:08 Macw 阅读(5) 评论(0) 推荐(0) 编辑