- 博客(14)
- 收藏
- 关注
原创 差分(模板+习题)C/C++
其实关于差分数组,我们并不用考虑其构造方法,因为我们使用差分操作在对原数组进行修改的过程中,实际上就可以构造出差分数组。接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,接下来 q 行,每行包含 5 个整数 x1,y1,x2,y2,c,表示一个操作。接下来 m 行,每行包含三个整数l,r,c,表示一个操作。共一行,包含 n 个整数,表示最终序列。
2023-10-03 19:57:43 310
原创 前缀和(模板+习题)C/C++
前缀和就是从位置1到位置i这个区间内的所有的数字之和。我们用前缀和有一个很大的优势,就是可以快速的得到某一个区间的区间总和对于每个询问,只需要执行 sum[r] - sum[l - 1]。输出原序列中从第l个数到第r个数的和的时间复杂度变成了O(1)。我们把它叫做一维前缀和。公式:s[r]-s[l - 1] = a[l] + a[l + 1] + ……+a[r]
2023-10-02 20:54:20 249
原创 二、八、十、十六进制16以内转换(进制转换专用)
二进制 01 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 八进制 001 002 003 004 005 006 007 010 011 012 013 014 015 016 017 020 十进制 1 2
2023-08-28 14:13:40 105
原创 排列与组合
我们常见的 C 右边会跟两个数字(或字母),右下角的数字 n 表示总数,右上角的数字 m 表示抽出的个数。我们常见的 P 右边会跟两个数字(或字母),右下角的数字 n 表示总数,右上角的数字 m 表示抽出的个数。⒈加法原理:做一件事,完成它可以有n类办法,在第一类办法中有m1种不同的方法,在第二类办法中有m2种不同的方法,……⒈ 乘法原理:做一件事,完成它需要分成n个步骤,做第一步有m1种不同的方法,做第二步有m2种不同的方法,…只要有一步中所采取的方法不同,则对应的完成此事的方法也不同。
2023-06-10 20:48:23 169
原创 string头文件操作字符串的几种用法(C++)
功能 说明 string s 定义一个名字为s的字符串变量 s+= str或s.append(str) 在字符串s后面拼接字符串str s<str 比较字符串s是否在字符串str的字典序之前 s.size()或s.length() 得到字符串s的长度 s.substr(pos,len) 截取字符串s,从第pos个位置开始len个字符,并返回这个字符串 s.insert(pos, str) 字符串s的第pos个字符之前,插入字符串str,
2023-06-03 20:07:56 522
原创 动态数组C++
for (i = 0;i++) {//其中ALL_Length可以是一个常数,也可以是变量,例如其他已经有值的动态数组长度。i++) //其中ALL_Length可以是一个常数,也可以是变量,例如其他已经有值的动态数组长度。在vector加入元素前,如果n=m,则在内存中申请2m的连续空间,并把内容转移到新的地址,同时释放旧的空间,再执行插入。在这句代码中,我利用vector定义了一个动态数组,名称是 n ,这个数组中存储的数据类型是int型。错误的原因是在用vector定义了一个移位数组时,这个数组是。
2023-05-28 20:57:30 807
原创 循环结构C++
输出输出1-1000所有整数,依次输出太麻烦了,用循环好一些。执行步骤:步骤1:先执行初始值步骤2:再执行循环条件判断,如果符合了,进入步骤3步骤3:执行代码块步骤4:执行循环结束操作,进入步骤2。
2023-05-28 20:45:02 555 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人