自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 C++模板初阶

泛型编程通过编写适用于不同数据类型的代码来提高复用性。函数模板代表一个函数家族,根据实参类型生成特定版本,定义格式为template<typename T>。模板在编译时由编译器根据实参类型生成具体函数,分为隐式和显式实例化。模板与非模板函数共存时,优先匹配非模板函数,除非模板能更好匹配。类模板通过template<class T>定义,实例化后才是真正的类型(如Vector<int>)。泛型编程将重复的类型处理工作交由编译器完成,增强了代码的通用性和可维护性。

2025-06-26 17:33:16 203

原创 c++、static成员、友元、构造函数2、内部类

类的静态成员:声明为static类的静态成员静态成员变量:用static修饰的成员变量(一定要在类外进行初始化,属于整个类,属于所有对象静态成员函数:用static修饰的成员函数。

2025-06-25 20:13:16 636

原创 c++拷贝构造函数(深浅拷贝)+运算符重载

类和对象:拷贝构造函数,赋值运算符重载

2025-04-11 17:23:35 709

原创 C++的构造函数和析构函数

构造函数:一种特殊成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有一个合适的初始值,并且在对象整个生命周期内只调用一次。//引入:为什么需要提出构造函数这个概念class Datepublic:_day = day;int _month;int _day;d1.print();return 0;

2025-03-21 17:34:35 347

原创 牛客小白月赛110

思路:用group表示是第几个大写英文字母,以A为基础,(n-1)/500为几则往上加几,从而得到应有的字母,用number表示当前组内的编号,(n-1)%500+1表示,至于最后的前导0,在输出的时候控制就行了。

2025-02-15 15:52:27 357

原创 牛客周赛round80 BC&&codeforces1003(div4)

思路:先把这i名成员的实力排序,然后相邻的两个实力右减左得到n组不和谐度,最后相加。因为我用的C语言qsort排序,学的时候是按int学的,所以我在写cmp函数的时候不小心用成了int,应该用成longlongint,与C++相比,还是后者的sort函数比较好用,要学会!

2025-02-10 19:35:09 432

原创 at coder ABC 392

题意:给一个整数序列(A1,A2,A3),这三个数进行排序后形成(B1,B2,B3)问是否存在排序使B1*B2=B3?思路:因为一共就三个数,只有三种排列方式,我直接全部都列出来判断的,不用管B。

2025-02-09 18:45:28 925

原创 C++03内联函数,auto关键字,基于范围的for循环(c++),nullptr

使用auto定义变量时必须对其进行初始化,在编译阶段编译器需要根据初始化表达式来推导auto的实际类型。因此auto并非是一种“类型”的声明,而是一个类型声明时的“占位符”,编译器在编译期会将auto替换成变量实际的类型。

2025-02-08 15:01:32 475

原创 C++02(函数重载,引用)

函数重载,C++引用,引用和指针的区别

2025-02-07 15:31:42 785

原创 At coder beginner contest 290AB

思路:只有4中情况:A1,A2翻转,其他正常,A2A3翻转其他正常.....为了下标与数字对应我开了6个空间,然后从1开始循环,到4截止,因为循环中有i+1害怕数组越界,如果索引出的数与下标不相等了,那就看看和下一个数是否是相反的关系,如果是就cnt++,i++,其中还要判断是否是唯一的一个相反的两个相邻的数,还要考虑特殊情况就是几不符合下标又不相邻的数互换位置达到升序。看完官方题解后,其实不用那么麻烦,可以开两个数组,然后交换一下判断是否与标准输出相等即可。

2025-01-26 18:21:54 346

原创 牛客周赛round78 B,C

题意:就是输出n个数(1-n),使输出的序列中任意选连续的小序列(小序列长度>=2&&<=n-1)不符合思路:读懂题意后,我举了几个例子然后我认为要把这n个数用一个数组左右存,就是左边存奇数,右边存偶数,反正1-n都要存,为了对应合适,我从数组下标为1时开始存,同时积累奇数和偶数的数量奇数的个数就是对应输出数组的下标,输出的数字就是i,偶数的下标是n-even+1;然后从1-n开始依次打印此数组。

2025-01-26 17:15:04 341

原创 codeforces-div2-round1000A

因为虽然[1, 1]属于,但是[1, 2]却因包含[1, 1]而不属于了。3.对于左边界为1的情况,如果右边界为1结果就是1,右边界大于1为r,那么结果为r - 1,思路: 1.相邻数组成的区间互质,那么一段区间的互质区间数就为R-L。2."1"自己单独有个最小互质区间。是边界互质,边界内无互质区间。求这个区间最小互质区间个数。

2025-01-23 21:48:55 190

原创 Codeforces round 998-div3,AB题解

1 3 2 1,先让i=1时满足斐波那契性质,此时a3=4,如果a3等于4,i=2和i=3是不能满足斐波那契性质的,这里的斐波那契性质就为1,此时再让i=2满足斐波那契性质,此时a3=-1,同时对于i=3也满足斐波那契性质,所以最多有两个性质....这个题目对于我来说有点读懂,题目意思大概就是有n头牛,每头牛分m张牌,然后我给出一个顺序p,每次都让让pi的牛出牌(出最小的牌),出的牌放在一个中央牌堆中,要保证新放上去的牌是比下面牌大的,问m轮游戏中,是否每个牛都能把牌出完?能则输出排列p,不能则输出-1.

2025-01-21 20:32:27 419

原创 牛客周赛round77B,C题解+牛客小白月赛C题题解

1.emmmmmm怎么说呢,结合最近这几天做的算法题给我的启示就是,做算法题一定要动脑子取想,多列样例多找规律,不要被题目带着跑,题目说什么我就做什么不动脑子跟着题目跑,其实很多题要善于从题目中提取出简单信息,结合思考简化程序。2.最近题目一般还是都用C解题,但是包括力扣,洛谷等一些题解都是C++的,很多容器语法什么的还是要抓紧时间补起来,要不然感觉解题会麻烦许多o(╥﹏╥)ofighting!!!!

2025-01-20 20:40:30 737

原创 2025-01-17牛客小白月赛AB题解

所以,我只要找到满足这两条条件的x的个数即可又因为n的数量级是10的9次方,而longlongint的数量级是正负2的63次方-1。所以我们可以使用longlongint这个数据类型进行存储数据。如果使用for循环挨着找的话,时间复杂度太高了所以过不了。所以我就从数学角度简化做法,我们把n-19375331用x来定义,我发现如果x是一个小于等于0的数,那么本题就转化为了有多少个正整数小于等于n,大于等于x(一个非正数)。很显然有n个。

2025-01-19 22:03:44 410

原创 初识C++(命名空间namespace,cin,cout,缺省参数)

在C/C++中,变量,函数以及后续要学的类都是大量存在的,这些变量,函数和类的名称都将存在于全局变量中,可能会造成很多冲突。使用命名空间的目的就是对标识符的名称进行本地化。使用方法就是:namespace+项目名字+{}我们用命名空间域中的数据时是这样用的:需要用到::在这两个冒号的左边是我们定义的命名空间域的名字,如果不写,那就默认是全局域cout为标准输出对象(控制台),cin为标准输入对象(键盘),endl表示换行输出==C语言‘\n’<<是流插入运算符,>>是流提取运算符。

2024-12-16 19:55:01 795

原创 字符函数和字符串函数(1)

strcmp,strcat,strcpy等字符串的简介及其模拟实现

2024-03-29 18:09:29 727 2

原创 C语言--水仙花数

到这里有一个问题,就是只要走出while循环,那么i的值就是0;这对我们后面要进行的比较打印操作是非常不利的,所以在这里我们就要找一个替罪羊temp;首先,分析题目理解什么是水仙花数,然后根据定义分析其中的变量有两个,一个是该数的位数,一个是该数字每一位的数字。所以,我们的任务就有两个,1.求出该数有几位。当余数为0的时候,正好做了3次除法运算,利用一个count在循环中计数即可。还是以153为例,153%10,得到个位,153/10得到前两位;15%10得到十位,15/10得到第一位;

2024-03-04 09:50:51 369 1

原创 C语言打印菱形(图形规律热身小题for循环)

对于所有的打印图形问题,唯一原则就是找规律,首先分析图形,这个图形显然是由空格和*组成的,可以先把图形切割开来分成两个三角形,分成上下两部分进行打印,值得一提的是,窃以为要关注一下空格数量,因为一开始我把他当成一个正方形,然后去里面挖空格,后来我发现,我们只需要关注*前面的空格数量就好了,后面直接换行即可。这样,我们就完成了上半部分的操作,接下来完成下半部分。

2024-03-04 09:02:00 288 1

原创 C语言用函数解决空瓶换汽水问题(常规+递归)

一个需要思考一下的热身小题

2024-03-03 23:54:58 855

原创 C语言--使用函数逆置数组(入门)

对于一个一维数组,想要逆转数组元素,我们只需要找到起始位置,和数组的最后位置,是两者之间进行元素的交换,然后左侧往右,右侧往左,直到左侧和右侧相遇。题目:设计两个函数,1.使之内容初始化为1-9;2.使之实现数组逆转。所以此时我们需要改变调用Init函数中的len的值。首先,这是对数组都初始化一个值并打印。

2024-03-03 16:57:33 406

原创 深入理解指针2

一般情况下,,但是有两个特殊情况。接下来,我们谈arr和&arr的区别因为&arr[0]和arr都表示首元素的地址,所以他们+1是跳过4个字节而&arr是表示整个数组的地址,所以他+1是挑个整个数组的字节即40个。

2024-02-26 11:18:53 383 1

原创 新手入门--一道易出错的for循环小题

for循环的一个入门易错小题

2024-02-16 11:10:51 152 1

原创 错题1(线段图案)--简单循环

用while循环巧妙将图案与数量结合,达到一一对应的关系。

2024-02-16 10:35:10 224 1

原创 深入理解指针1

指针学习笔记(初步)

2024-02-14 09:37:40 1599 1

原创 C语言——初识函数

对于函数的简单认识

2024-01-26 13:24:07 822 1

原创 数组(简单认识)

c语言数组0基础简单认识

2023-12-12 16:05:25 53

原创 分支与循环1·

C语言是一种结构化的程序性设计语言,这里的结构化指的是顺序结构,选择结构(if,swich),循环结构(while,do while,for)C语言逻辑算数符,总是先对左侧的表达式求值,在对右侧的表达式求值,如果左侧表达式满足逻辑运算符的条件,就不在对右侧表达式求值。如果一个变量和一个常量比较相等,建议将变量写在==右侧,eg:if(4==x)悬空else问题:如果有多个else和if,else总是和最近的if匹配。if(表达式)----表达式为真则执行,否则不执行语句。C语言中,非0为真,0为假。

2023-11-18 11:04:15 60 1

原创 scanf 和printf 的简单介绍

用户输入数据,按下回车键时,scanf()则会处理用户的输入,将其存入变量。输出的值默认是右对齐,即输出的内容前有空格。如果希望改成左对齐,即在输出内容的右面添加空格,可以在占位符%的后面插入一个-号。默认情况下,printf()不对正数显示+号,只对负数显示-号。scanf()的原理:用户得输入先进行缓存,等按下回车键后,再根据占位符对缓存进行解读,scanf(“格式字符串即占位符告诉读者输入字符的类型”,&变量);占位符的第一个字符一律为%,第二个字符表示占位符的类型。(%d表示整数,%s表示字符串)

2023-10-29 19:40:42 63

原创 C语言数据类型及变量(0基础学习笔记)

是计算变量在内存的占空间的大小,单位是字节,sizeof计算的结果的类型是size_t,size_t是一种无符号整数,大小只有正的没有负的,如果结果是无符号整形,就要用对应的占位符%zd。4)signed int 一般简写为int,但是char可以表示有符号的signed char,也可以表示无符号的unsigned char.%f表示float类型的,%lf表示double类型的输入输出。负数取模运算的规则是,结果的正负号由第一个运算数的正负决定。(这些都是C语言提供的类似上述减少运算的复合操作符!

2023-10-21 23:08:20 73 1

原创 计科小白初识C语言

C语言有9种控制语句:——条件判断语句:if,switch.-----循环执行语句:----do while,while,for.-----转向语句:break,go to,continue,return。在vs上写代码的时候:1.创建项目(代码是在项目中管理的)2.创建.c文件,(创建新项目——空项目——项目名称用日期——路径(不要包含空格,特殊字符,中文字符选择自己熟悉的路径。(1)将注释放在/*...*/之间,内部可以分行(C语言风格的注释是不能嵌套注释)C语言中的字符都是用单引号括起来的。

2023-10-20 17:28:26 132 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除