- 博客(32)
- 收藏
- 关注
原创 二分应用二:
有一个包含n个正整数的序列,把他划分为k个子序列,每个子序列是原序列的连续部分,第i个子序列的和为si,在所有s中有一个最大值,问如何划分最大的s最小'''
2025-04-10 22:12:58
101
原创 c++运算符重载方面的知识点
3)"=","[]","()","->"必须重载为类的成员函数。在类中为已有运算符赋予新含义的过程即为运算符重载。4)“<<”,“>>”必须重载为类的友元函数。1)双目运算符重载为类的友元函数。2)单目运算符重载为类的友元函数。重载为成员函数与友元函数的探讨。1)不改变运算符的优先级顺序。4)不改变运算符原有的含义、2)不改变运算符的结合性。3)不改变操作数个数。
2025-04-07 22:02:04
114
原创 二分·解决分巧克力问题
而本题h,w最大为1e5若遍历的话,会超时,这是我们就会想到二分。个数=⌊s//H⌋×⌊s//W⌋‘这点很重要。'当确定正方形的边长为。
2025-03-30 22:08:35
178
原创 c++做双指针算法+一些c++类中坑
point (*p)[3]//指的是三个指针,数组指针。point *p[3]//指针数组。//每道题目具体逻辑;
2025-03-29 22:17:32
185
原创 c++中的类(3),static,const,友元函数,运算符重载
修饰参数,可以防止函数内部修改该参数的值,同时也可以接收常量实参。c++中static: //静态变量,静态存储区,文件生命期;修饰普通变量时,该变量被定义为常量,一旦初始化后就不能再被修改。友元函数:作为朋友的函数,可以访问类中的私有变量;用static声明数据成员可以被类的所有对象共享。运算符重载:在类中为运算符赋予了新的含义的过程。以下代码利用了友元函数和运算符重载。:在函数参数列表中使用。const :常对象。
2025-03-28 22:03:07
512
原创 一些c++中的小知识点
同一个函数名,实现功能不一样的函数,函数重载的关键是有不一样的特征值,包括参数的个数,类型,顺序。setw(),setfill()都在iomanip头文件中。利用sizeof可以统计数据类型所占内存大小。操纵符用于设定下一个输出项的最小宽度。操纵符用于设定当输出项的宽度小于。所设定的宽度时,要填充的字符。
2025-03-25 23:02:06
153
原创 c++中的类(3)
类中的数据对象除了基本数据类型,如int double float等,还可以是构造的数据类型。2拷贝构造函数:注意拷贝构造函数参数只能是本类引用,最好是常引用。代码示例:记录学生信息,信息中包含出生年月日。
2025-03-22 11:01:28
162
原创 今日带来两道二分法求解的题目
对于每个查询,返回一个元素 kk 的起始位置和终止位置(位置从 00 开始计数)。给定一个按照升序排列的长度为 nn 的整数数组,以及 qq 个查询。的末尾恰有k个零的最小的n是多少,如果n不存在输出-1。如果数组中不存在该元素,则返回。
2025-03-20 22:53:43
188
原创 py中实现二分
如果答案在右半部分,将范围缩小到【mid+1,r】即l=mid+1。如果答案在左半部分,将范围缩小到【l,mid】即r=mid。每次将搜索范围缩小一半,直到找到答案。答案在[l,r]之间,
2025-03-15 21:04:40
108
原创 学习c++中的类(2),主要是构造函数和析构函数
2)没有返回值类型声明,也没有return;3)构造函数没有return语句。2)构造函数没有返回值类型声明。1)在构造函数前加“~”;1)构造函数名与类名相同。3)没有参数,不能重载;
2025-03-14 21:02:13
299
原创 学习c++中的类(1),与结构体类似
this 将对象与对象所调用的成员函数联系在一起。s.getage()//对象名.成员函数名()s.nage//对象名.数据成员名。
2025-03-13 22:20:12
293
原创 辗转相除法,map实际练习题,函数重载;
即使函数名一样,编译器也有可能不会错哦,map容器非常方便做数字统计个数题;1.辗转相除法用来求最大公约数。
2025-03-12 23:19:04
320
原创 c++栈,+练习题
stk.top();//返回栈顶元素的引用。stk.pop()://移除并返回栈顶元素。str.peek();//返回栈顶但不删除。栈stack:先进后出。
2025-03-11 21:40:09
255
原创 3.10 学习c++的哈希表unordered_set<int>s;py的习题重新排序
这串代码是今天好不容易学会的,他解决重新排列的问题蓝桥oj2128这道题目。这串代码解决将奇数偶数分开对立;s.insert(x)//插入。s.erase(x)//清除。其中不能包含重复元素。
2025-03-10 23:16:37
210
原创 2025.3.8 lower_bound,upper_bound;以及py的前缀和的学习
1.lower_bound(a,a+n,x)-a//在这里a代表数组名字,n代表数字长度,它会返回大于等于x的下标;一般都做循环 for i in range(1,n+1): s[i]=s[i-1]+a[i];//类似,但他返回大于x的下标;//若是vector则参数为a.begin(),a.end(),x。1)一维前缀和:用于计算任意区间a[i]~a[j]的和;右上角为a[i][j],左下角为a[1][1]2)二维前缀和:计算子矩阵的和。
2025-03-08 21:47:49
220
原创 unique,sort,以及random_shuffle()的应用
对于vector动态向量,a.erase(unique(a.begin(),a.end()),a.end());a为vector动态数组。可以实现去重,去重后的个数n=(unique(a,a+m)-(a)),//m为数组的长度。random_shuffle(a.begin(),a.end())//a为动态数组。类似的结构体也可以实现降序。
2025-03-07 20:45:58
216
原创 字符串处理string一些函数的使用
str.find(str_,pos)//第一个参数代表要找的字符串,第二个参数代表找的起始位置;没有找到返回string::npos。str.replace(pos,old_length,new_str)//pos要替换的起始位置,旧字符串的长度,新的字符串;size_t无符号整数类型。
2025-03-06 22:50:30
115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人