- 博客(16)
- 收藏
- 关注
原创 二进制中1的个数(C++)
• 对于每个整数 x,输出其二进制表示中 1 的个数。• 第一行包含一个整数 n,表示测试用例的数量。给定一个整数,统计其二进制表示中 1 的个数。• 接下来 n 行,每行包含一个整数 x。
2025-03-05 20:50:44
148
原创 最长无重复子数组—双指针(C++)
nums,找到其中最长的无重复元素的子数组的长度。• 输出一个整数,表示最长无重复子数组的长度。• 第一行包含一个整数 n,表示数组的长度。• 第二行包含 n 个整数,表示数组的元素。
2025-03-05 19:29:23
478
原创 差分二维数组(C++)
给定一个 n 行 m 列的矩阵,初始时矩阵中的每个元素都是输入的值。现在需要处理 q 次查询,每次查询要求对矩阵的一个子矩阵区域进行加法操作。• 然后是 q 行查询,每行包含五个整数 x1, y1, x2, y2, c。表示将子矩阵区域 (x1, y1) 到 (x2, y2) 的所有元素增加 c。• 第一行包含三个整数 n、m 和 q,表示矩阵的行数、列数和查询次数。• 接下来的 n 行,每行包含 m 个整数,表示矩阵的初始值。输出最终的矩阵,每行包含 m 个整数,相邻两个数用空格分隔。
2025-03-03 21:12:54
290
原创 差分一维数组(C++)
给定一个长度为n的数组a,和m次操作。每次操作给出一个区间[l, r]和一个整数c,需要将该区间内的每个元素加上c。在所有操作完成后,输出最终的数组。• 接下来m行,每行三个整数l、r、c,表示一次区间加法操作。• 第一行输入两个整数n和m,分别表示数组长度和操作次数。• 第二行输入n个整数,表示数组a的初始值。• 输出最终的数组,每个元素用空格隔开。
2025-03-02 21:01:41
234
原创 归并排序问题(C++)
• 输入的第一行包含一个整数 n,表示数组的长度。给定一个整数数组,使用归并排序算法对其进行排序。• 第二行包含 n 个整数,表示待排序的数组。• 输出排序后的数组,元素之间用空格分隔。
2025-03-01 23:42:24
187
原创 二维前缀和(C++))
对于每个查询,输出一个整数,表示对应矩形区域的元素和。个查询,每个查询给出一个矩形区域的左上角。的矩阵,其中每个元素为整数。,你需要计算这个矩形区域内的元素之和。,分别表示矩阵的行数、列数和查询次数。个整数,表示矩阵的元素。行,每行包含四个整数。
2025-02-28 16:07:55
465
原创 一维前缀和(C++)
表示查询的区间(1-based 索引)。,计算每个区间内的元素和。,分别表示数组的长度和查询的次数(对于每个查询,输出对应的区间和。行,每行包含两个整数。
2025-02-28 15:11:59
418
原创 高精度整数除法(C++)
给定两个正整数 A 和 B,其中 A 是一个非常大的整数(可能超过标准数据类型的表示范围),B 是一个小于 9999 的正整数。计算 A / B 的商和余数。// 当前位的值为 A[i],结合之前的余数 r,形成新的当前值。// 计算当前位的商。• 第一行包含一个字符串 A,表示一个长度不超过 100 的非负整数。// 从高位到低位逐位处理大整数 A。• 第二行包含一个整数 B,表示除数。// 去除商末尾的前导零。• 第二行输出余数 R。• 第一行输出商 Q。
2025-02-28 14:03:41
263
原创 高精度整数乘法(C++)
-i) { // 逆序存储大数,例如 "123" 转换为 {3, 2, 1}ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);++i) { // 循环条件:处理完所有位或者进位不为零。// 将当前位的结果存入结果数组(处理进位后的个位数)A.push_back(a[i] - '0');// 输出乘法后的结果,注意数组是逆序存储的,需要反转输出。// 循环遍历大数 A 的每一位和进位 t。
2025-02-27 21:48:30
557
原创 浮点数二分(C++)
/ l 表示左边界,r 表示右边界,初始区间为 [0, x]if (mid * mid >= x) { // 如果 mid 的平方大于等于 x。// 将右边界 r 更新为 mid。} else { // 如果 mid 的平方小于 x。// 将左边界 l 更新为 mid。while (r - l > 1e-6) { // 当区间的长度大于 1e-6 时,继续查找。// 计算中间值 mid。// 输出 l 的值,此时 l 是满足 x^(1/2) 的足够近似值。
2025-02-26 17:39:24
235
原创 整数二分(C++)
/ 否则,将右边界移动到mid-1,继续在左半部分查找。// 否则,将左边界移动到mid+1,继续在右半部分查找。// 初始化二分查找的左右边界为[0, n-1]// 如果没有找到,输出-1 -1。if (q[mid] <= x) { // 如果当前位置mid的值小于等于x。if (q[mid] >= x) { // 如果当前位置mid的值大于等于x。// 左边界是q[l]的位置,输出左边界。
2025-02-26 17:16:37
565
原创 长整数相减(C++)
/去掉前导0 例99-96可能出现03 去除前面0 只剩下3。//判断A B的大小,如果B大的话在前面加减号。//长度相同就从最高位开始比较。//与加法一样 用数组存储数字。
2025-02-25 17:33:04
336
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人