摘要: 约数(Divisors) 约数是指能整除某个整数的其他整数。例如,对于整数 ( a ),如果存在整数 ( b ) 使得 ( a = b*c ),那么 ( b ) 就是 ( a ) 的约数。 性质: 1 和自身是每个整数的约数: 每个整数 ( a ) 都有至少两个约数:1 和 ( a ) 本身。 约数 阅读全文
posted @ 2024-07-23 14:58 Tomorrowland_D 阅读(49) 评论(0) 推荐(2) 编辑
摘要: std::ios::sync_with_stdio(0) 是一个 C++ 中的流控制函数,用于调整 C++ 标准输入输出流与 C 标准输入输出流的同步设置。 具体来说: 默认情况下,C++ 的输入输出流与 C 的输入输出流是独立的,即它们各自有自己的缓冲区,互相不干扰。这意味着,如果你使用了 C++ 阅读全文
posted @ 2024-07-23 14:27 Tomorrowland_D 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 进制转换 洛谷题目链接:https://www.luogu.com.cn/problem/P1143#submit 题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入格式 共三行,第一行是一个正整数,表示需要转换的数的进制 n(2<=n<=16),第二行是一个 n 进制数,若 n>10 则 阅读全文
posted @ 2024-07-23 11:46 Tomorrowland_D 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 高低位交换 洛谷题目链接:https://www.luogu.com.cn/problem/P1100 题目描述 给出一个小于 2^32 的非负整数。这个数可以用一个 32 位的二进制数表示(不足 32 位用 0 补足)。我们称这个二进制数的前 16 位为“高位”,后 16 位为“低位”。将它的高低 阅读全文
posted @ 2024-07-23 11:32 Tomorrowland_D 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 力扣题目链接:https://leetcode.cn/problems/single-number-iii/description/ 题目叙述: 给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计 阅读全文
posted @ 2024-07-23 10:51 Tomorrowland_D 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 力扣链接:https://leetcode.cn/problems/single-number/description/ 题目叙述 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题 阅读全文
posted @ 2024-07-23 10:11 Tomorrowland_D 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 当我们谈论位运算时,通常是指在计算机中直接操作二进制位的运算。位运算主要包括位与(&)、位或(|)、位异或(^)、位取反(~)以及左移(<<)和右移(>>)操作。 1. 位与(&) 位与运算符用符号 & 表示,它的规则是对两个操作数的每一位执行逻辑与操作,只有两个操作数对应位都为 1 时,结果位才为 阅读全文
posted @ 2024-07-22 20:53 Tomorrowland_D 阅读(22) 评论(0) 推荐(1) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/B3849 [GESP样题 三级] 进制转换 题目描述 小美刚刚学习了十六进制,她觉得很有趣,想到是不是还有更大的进制呢?在十六进制中,用 A 表示 10、F 表示 15。如果扩展到用 Z 表示 35,岂不是可以表示 36 阅读全文
posted @ 2024-07-22 12:43 Tomorrowland_D 阅读(11) 评论(0) 推荐(1) 编辑
摘要: [NOIP2016 提高组] 玩具谜题 题目背景 NOIP2016 提高组 D1T1 题目描述 小南有一套可爱的玩具小人,它们各有不同的职业。 有一天,这些玩具小人把小南的眼镜藏了起来。小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如下图: 这时 singer 告诉小南一个谜题:“ 阅读全文
posted @ 2024-07-22 01:40 Tomorrowland_D 阅读(17) 评论(0) 推荐(1) 编辑
摘要: 力扣题目链接:https://leetcode.cn/problems/minimum-depth-of-binary-tree/ 题目叙述: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 输入:root = [3, 阅读全文
posted @ 2024-07-22 01:14 Tomorrowland_D 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 力扣链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 题目叙述: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9 阅读全文
posted @ 2024-07-22 00:54 Tomorrowland_D 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 力扣题目链接:https://leetcode.cn/problems/find-largest-value-in-each-tree-row/description/ 题目叙述: 您需要在二叉树的每一行中找到最大的值。 思路 这题依旧是采用层序遍历的模板,只不过我们不需要设置current数组,并 阅读全文
posted @ 2024-07-22 00:46 Tomorrowland_D 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 矩阵旋转是一种常见的操作,通常包括将矩阵顺时针或逆时针旋转90度、180度或270度等。这里我将简要介绍如何进行顺时针旋转90度的操作,并给出示例代码。 顺时针旋转90度的方法: 要顺时针旋转一个n x n的矩阵,可以采用以下步骤: 转置矩阵:先将矩阵转置,即行变成列,列变成行。 反转每一行:然后反 阅读全文
posted @ 2024-07-20 16:27 Tomorrowland_D 阅读(10) 评论(0) 推荐(1) 编辑
摘要: [NOIP2015 普及组] 扫雷游戏 题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏。在 n 行 m 列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地 阅读全文
posted @ 2024-07-20 15:01 Tomorrowland_D 阅读(20) 评论(0) 推荐(2) 编辑
摘要: 一般情况下,printf 和 scanf 函数在速度上可能会比 cout 和 cin 快,尤其是在大量数据输出和输入的情况下。这里有几个原因可以解释为什么如此: 缓冲区处理: printf 和 scanf 是基于 C 标准 I/O 库,它们通常会使用缓冲区来优化输出和输入操作。一次性将数据写入或读取 阅读全文
posted @ 2024-07-19 10:53 Tomorrowland_D 阅读(2) 评论(0) 推荐(1) 编辑
摘要: 当然可以。sprintf 函数和 sscanf 函数是 C 语言中非常实用的两个函数,它们主要用于字符串的格式化输入输出,但是方式有些不同。下面我会尽量用通俗的语言来解释它们。 sprintf 函数 sprintf 函数的名字可以理解为“string print format”,意思是“按照格式打印 阅读全文
posted @ 2024-07-18 14:42 Tomorrowland_D 阅读(5) 评论(0) 推荐(1) 编辑
摘要: nth_element 是 C++ STL 中非常强大的算法之一,用于在一个范围内找到第 k 小(或第 k 大)的元素,并将其放到正确的位置,使得所有小于或等于该元素的值在其左边,所有大于该元素的值在其右边。这个算法的关键特点是它在找到第 k 小的元素时,复杂度为 O(n),比起全排序的 O(n l 阅读全文
posted @ 2024-07-18 01:33 Tomorrowland_D 阅读(3) 评论(0) 推荐(1) 编辑
摘要: 爱与愁的心痛 题目背景 (本道题目隐藏了两首歌名,找找看哪~~~) 《爱与愁的故事第一弹·heartache》第一章。 《我为歌狂》当中伍思凯神曲《舞月光》居然没赢给萨顶顶,爱与愁大神心痛啊~~~而且最近还有一些令人伤心的事情,都让人心痛(最近真的很烦哈)…… 题目描述 最近有 n 个不爽的事,每句 阅读全文
posted @ 2024-07-16 13:07 Tomorrowland_D 阅读(6) 评论(0) 推荐(2) 编辑
摘要: 在 C++ 中,为形参加上 const 修饰符主要是为了提高代码的安全性、清晰性和性能。即使你不会在函数中改变某个形参的值,加上 const 修饰符仍然有几个重要的好处: 1. 保护数据不被修改 将形参声明为 const 表示该函数承诺不会修改该参数的值。这种承诺是对调用者的一种保障,表明函数在处理 阅读全文
posted @ 2024-07-15 17:56 Tomorrowland_D 阅读(2) 评论(0) 推荐(1) 编辑
摘要: 在 C++ 中,传递对象的引用而不是对象本身通常被视为一种最佳实践,特别是在处理较大的对象或复杂类时。这个做法有几个重要的理由和优点: 1. 性能优化 避免拷贝开销: 传递对象的副本可能会带来较大的性能开销,尤其是当对象很大或包含大量数据时。每次传递对象时都需要创建一个对象的副本,这会消耗额外的内存 阅读全文
posted @ 2024-07-15 17:53 Tomorrowland_D 阅读(13) 评论(0) 推荐(1) 编辑
摘要: 在 C++ 中,“常对象”指的是一个在其生命周期中无法被修改的对象。也就是说,对常对象的任何修改操作都会被编译器禁止。这种对象被称为常量对象(const 对象)。 常对象的定义 常对象是在定义对象时使用 const 关键字修饰的。比如: const int x = 10; // x 是一个常对象 在 阅读全文
posted @ 2024-07-15 17:31 Tomorrowland_D 阅读(3) 评论(0) 推荐(1) 编辑
摘要: 快速幂算法的代码: //快速幂算法: long long fast_power(long long a, long long b, long long c) { long long result = 1; a %= c; while (b != 0) { if (b % 2 == 1) { resu 阅读全文
posted @ 2024-07-15 15:43 Tomorrowland_D 阅读(1) 评论(0) 推荐(0) 编辑
摘要: sort排序规则 要理解为什么使用 std::abs(a) > std::abs(b) 进行排序会导致绝对值降序排列,我们需要深入理解排序算法的比较规则以及如何使用这些规则来实现特定的排序需求。 排序算法中的比较规则 std::sort 使用的是一种排序算法,它根据比较函数的返回值来决定元素的相对顺 阅读全文
posted @ 2024-07-15 01:09 Tomorrowland_D 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P1601 A+B Problem(高精) 题目描述 高精度加法,相当于 a+b problem,不用考虑负数。 输入格式 分两行输入。a,b<10^500。 输出格式 输出只有一行,代表 a+b的值。 样例 #1 样例输入 阅读全文
posted @ 2024-07-14 23:45 Tomorrowland_D 阅读(4) 评论(0) 推荐(2) 编辑
摘要: [GESP202306 三级] 密码合规 题目链接:https://www.luogu.com.cn/problem/B3843 题目描述 网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。合规的密码应满足以下要求:。 1.只能由a-z之间26个小写字母, A-Z之间26个大写字母、0 阅读全文
posted @ 2024-07-14 23:11 Tomorrowland_D 阅读(18) 评论(0) 推荐(2) 编辑