自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 时间复杂度问题(持续更新)

1s程序大概运行1e8次幂,所以对于两层的for循环,每层for循环最多运行1e4次幂

2020-03-23 00:16:08 364

原创 c++的STL基本用法

vector容器直接上例子,便于复习。#include<vector>#include<iostream>using namespace std;bool comp(const int &a,const int &b){ return a>b;}int main(){ vector<int> vec; vec.pus...

2020-02-13 21:12:55 226

原创 关于Hanoi双塔问题的个人理解(是最用心写的一个博客啦,希望能帮助到对汉诺塔问题还有疑问的同学哦!)

首先说一下汉诺塔游戏的规则:有三个柱子A,B,C,我们要做的是把A柱的所有圆盘,全部转移到C柱上,转移时遵循的规则如下:1、每次只能移动一个圆盘2、所有的大圆盘必须在小圆盘的下面首先说明一下,假设盘子都在A上,将n个盘子分为最底层盘子,与其余盘子,最底层盘子就是最下面的那个盘子,其余盘子就是除了最下面的盘子剩余的盘子,A为起始柱,B为非目标柱,C柱为目标柱。现在说这些定义有点抽象,不要着急哦...

2019-12-19 20:49:03 777

转载 C语言printf()函数输出左右对齐方式

https://blog.csdn.net/abcdu1/article/details/74926375

2019-11-19 21:33:51 1908

转载 sort函数的用法,以及一些心得

STL的sort()算法,数据量大时采用Quick Sort,分段递归排序。一旦分段后的数据量小于某个阈值,为避免Quick Sort的递归调用带来过大的额外开销,就改用Insertion Sort(插入排序)。如果递归层次过深,还会改用Heap Sort。STL中的sort并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动选...

2019-11-19 20:28:55 157

原创 matlab对符号方程组的求解(线性方程组以及非线性方程组)

下面举一个栗子吧,下面是三个变量的符号非线性方程组,对于它的求解,我们可以用入戏的syms ro1 m1 s1 ro0 m0 s0 p1 p0 ry1=sym('ro1*m1*s1=ro0*m0*s0');y2=sym('ro1*m1^2*s1+p1*s1=ro0*m0^2*s0+p0*s0');y3=sym('2*r*p1/((r-1)*ro1)+m1^2=2*r*p0/((r-1)*r...

2019-11-19 19:25:18 5681 2

原创 0-1背包问题,完全背包问题算法

在www.dotcpp.com/oj/problem网站上刷的题题目描述:辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是...

2019-11-10 21:48:09 242

转载 while (~scanf("%d%d",&m,&n))的用法

ACM中比较常见,其功能是循环从输入流读取m和n,直到遇到EOF为止,等同于while (scanf("%d%d",&m,&n)!=EOF)。scanf()函数返回成功赋值的数据项数,出错时则返回,EOF定义为-1。~是按位取反,-1十六进制补码表示为0x ffffffff,f是二进制的1111,取反后就全部变成0了,于是while结束。只有返回值为EOF(即-1)时,其取反的的...

2019-11-04 10:50:12 1416

转载 scanf返回值学习,getchar函数用法

scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。如:scanf("%d %d",&a,&b);函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;如果只有a被成功读入,返回值为1;如果a和b都未被成功读入,返回值为0;如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z 或者...

2019-11-02 19:42:40 167

原创 利用for循环的一些技巧(以一个等差数列问题为例)

题目描述:sum=2+5+8+11+14+…,输入正整数n,求sum的前n项和。样例输入:2样例输出:7代码如下:#include<iostream>int main(){ int n,sum=2,a[100]={2}; std::cin>>n; for(int i=0;i<n-1;i++) { a[i+1]=a[i]+3;//需要掌握的熟...

2019-10-29 21:16:18 2461

原创 摘果子问题(聚沙成塔问题)

题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子...

2019-10-29 10:45:35 1474

转载 int &a的含义

int a的意思是定义一个变量aint &a意思是定义一个引用 //引用相当于指针再取值 他和被引用的变量都是表示同一块内存引用就是给变量取别名 int b ;int &a=b; 用cout<<&a 和cout<<&b 你会发现他们的地址是一样的...

2019-10-24 21:35:36 14881 1

原创 关于strcmp与strcpy函数的相关用法

strcpy的三种实现方式:第一种:char * strcpy(char *dst,const char *src) //[1]{ assert(dst != NULL && src != NULL); //[2] char *ret = dst; //[3] while ((*dst++=*src++)!='\0'); //[4]...

2019-10-24 15:34:30 408

转载 const char*与char*的区别

const char *p = “123”;p[1] = ‘3’; // 会报错p = “456”; // 不会报错const char * 只是说指针指向的内容不可变,但指针本身可以再赋值假设你的程序是char * findArg(char *s) {return s;}这个时候,你如果传const char *进去,那么好一些的编译器,会知道,你传回的函数返回值,也是const...

2019-10-24 08:33:12 1517

原创 约瑟夫环

https://blog.csdn.net/yanweibujian/article/details/50876631根据链接中这位大佬发的那个图表,以M=4;n=10为例,自己细心耐心一点,可以推出如下结论:f(i-1)=(f(i)-M+i)%i;反过来f(i)=(f(i-1)+M)%i;然后就可以用这个递推公式做点事情啦!下图是推的时候的一些公式和图像,有点丑,将就点啦,哈哈。...

2019-10-23 15:37:26 109

转载 memset函数讲解,C语言结构体讲解

http://c.biancheng.net/view/231.html

2019-10-20 21:05:54 345

原创 字符串大小比较规则

比较的时候,从字符串左边开始,一次比较每个字符,直接出现差异、或者其中一个串结束为止。比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。...

2019-10-20 20:53:41 3607

原创 vector函数的用法举例

题目描述:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。输入输入数据的个数n n个整数 移动的位置m输出移动后的n个数样例输入:101 2 3 4 5 6 7 8 9 102样例输出:9 10 1 2 3 4 5 6 7 8#include"iostream"#include"vect...

2019-10-20 19:47:26 140

原创 动态规划求解-将字符串A变换为字符串B 所用的最少字符操作次数

问题描述:设A 和B 是2 个字符串。要用最少的字符操作将字符串A 转换为字符串B。这里所说的字符操作包括(1)删除一个字符;(2)插入一个字符;(3)将一个字符改为另一个字符。将字符串A变换为字符串B 所用的最少字符操作次数也称为字符串A到B 的编辑距离,记为 d(A,B)。试设计一个有效算法,对任给的2 个字符串A和B,计算出它们的编辑距离d(A,B)。这里抄袭了一位大佬的利...

2019-10-19 10:14:19 6451

转载 带参宏定义学习

C语言中的宏允许带有参数,包含形参和实参,在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数,无参宏的宏名后不带参数,其定义的一般形式为:#define 标识符 字符串; 例如#define m a*b;其中ab的值就是m,在主函数中m就是调用ab;带参宏定义的一般形式为:#define 宏名(形参表) 字符串;在字符串中含有各个形参。带参宏调用的一般形式为:#define ...

2019-10-17 20:29:42 316

原创 利用指针对函数传参的两种方式

函数传参的两种方式:第一种方式:直接见代码:#include<iostream>#include<cstring>#include<stdlib.h>void tiqu(char *a,int *n,int *m,int *j,int *k);int main(){ int length; int *n=(int *)malloc(sizeo...

2019-10-17 12:05:10 997

转载 int *p和(int *)p的区别;返回多个值给主函数的做法;int*p=new int[n]的用法;int *p = (int*)malloc(n*sizeof(int))的含义

int *p和(int *)p的区别(int **)p;//强制将变量p转换成指向 int类型指针变量的 指针(转换后p是指向指针的指针)(int *) *p;//强制将变量 *p 转换成指向int类型的指针变量,(*p当成整体做强制转换,这么看来,p也可能是一个指向指针的指针)*(int )p;//强制将变量p转换成指向int类型变量的指针,再取这个指针变量指向的值;相当于((int ...

2019-10-16 16:27:38 3771

原创 C/C++关于输入输出的心得

如果定义char类型的数组,输入字符串时遇到空格自动结束。#include<iostream>int main(){char a[10];std::cin>>a;for(int i=0;i<8;i++)std::cout<<a[i];return 0;}如果定义int类型数组,不能利用数组名进行输入,需要利用循环,原因1:整性数组会把...

2019-10-11 16:18:00 313

原创 C/C++数值类型变换分析(持续更改)

以www.dotcpp.com的c语言训练题中的1018为例:题目描述:有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13… 求出这个数列的前N项之和,保留两位小数。输入N输出数列前N项和以下为解决问题的代码:#include<iostream>#include<iomanip>int main(){int a[100];//试一下...

2019-10-11 11:25:41 296

原创 strlen函数、length函数、size函数的区别

strlen函数一般用在字符数组求解,一般需要初始化,例如char a[]={“hello”};或者char a[]={‘h’,‘e’,‘l’,‘l’,‘o’,’\0’};length函数一般与size函数可以相互转化,一般用string型定义字符串。例如:string a;length=a.length();length=a.size();这两个语句含义是一样的。...

2019-10-10 23:44:44 3573

转载 C语言中 int、long、long long 的存储空间和值的范围

https://www.cnblogs.com/godfriend/p/10931503.html

2019-10-10 23:24:44 1117

转载 C/C++的continue函数与break函数用法与区别

1.break可以在循环和switch中使用,程序执行到break语句时,如在break在循环中出现,则跳出当前层次的循环(只能跳出一层)继续执行循环外的一语句.如果在switch语句中出现,则结束switch,继续执行switch语句之后的语句.for(;;){A;if(e)break; /*直接退出循环且循环结束,B不被执行*/B;}2.continue只能用在循环中,意思是"...

2019-10-10 23:21:34 737

原创 C/C++语言存在的一些误区以及需要注意的一些事项(持续更新)

1.不论C还是CPP,在定义main函数时,不论存不存在返回值,都需要以return结束,例如:int main(){return 0;}void main(){return;}2.c语言中^操作符不表示次幂,如果想写次幂形式可利用math函数库中的pow函数求解。3.定义变量尽量在main函数之内,其他函数之外定义,例如如果定义在局部函数(for函数)中,在外面是失效的,...

2019-10-10 22:16:17 171

原创 C/C++计算字符串的长度

C/C++语言计算字符串长度1.自定义函数求长度2.使用strlen()函数3.使用sizeof()操作符4.使用length()函数利用自定义函数的方法:int cont_str(char *s){int i = 0; while ( str[i++] != '\0');return i;}利用string头文件中的strlen()函数:strlen(st...

2019-10-07 21:54:36 36523 4

转载 c++头文件:stdio.h ,cstdio ,iostream

首先,stdio.h是c语言主要的一个头文件,是指 “standard input & output"(标准输入输出)。而到了c++里,常用iostream(输入输出流),【#include是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。在旧的标准C++中,使用#include<iostream.h>但在新标准中,用#include,而且在VC中编程的同...

2019-10-02 20:42:38 5454

转载 C++>>运算符用法

C语言中的“右移运算符”。一般情况下,他是按位操作。特点:1.双目运算符,就像+、-、*、/一样,格式为(数1)>>(数2)2.数1是被操作数,如被减数、被除数等;数2是右移位数。3.优先级低,结合性:从左向右运算如:8>>1=?表示将被移数向右移动1位如何操作?1.化十进制数为(注意了)对应的二进制数,对应指格式对应2.通通右移,不足补03.化为十进制数...

2019-10-02 12:28:05 19791 3

转载 C++学习,获取字符cin,getchar,get,getline的区别

由于这篇文章总结的很好,我真的无法copy,所以直接看链接吧。https://www.cnblogs.com/shrimp-can/p/5241544.html关于一些指针数组问题(以下为一些讲解):例如:#include<iostream>int main(){char input[10];cin>>input;cout<<input<...

2019-09-30 22:01:45 118

原创 c++冒泡排序法

冒号排序法分析:需要注意的是数组指针的形式为int arc[]。而定义的a[100]中,a代表数组首元素的地址。例如:int arr[10] 是数组,会分配 10 个 int 类型的空间,int arr[] 只是一个指针,只会为变量本身分配一个指针大小空间。冒泡的思想即为把大数放后面。也可以通过将bubble函数中if(arc[j]>arc[j+1])更改成if(arc[j]<ar...

2019-09-30 00:04:58 314

转载 c语言double类型的输入输出

double a;scanf("%f",&a); //应用scanf("%lf",&a);执行上面语句时,发现double类型的输入不能使用%f进行输入,得用%lf才能正常得到a的值。而在输出double类型时却可以用%f,这是因为printf("%f",a);在执行时C自动将float型的参数转换成double型。故double型的输入输出形式如下:double a...

2019-09-29 20:14:37 4529

原创 c++三角函数声明大全

#include <math.h>double cos(double x)double sin(double x)double tan(double x)double atan(double x)所有x为弧度值(radians),即180用3.14159…表示。

2019-09-29 15:12:26 796

原创 C++绝对值函数,求根函数(自创)

本题主要需要写出绝对值函数,求根函数(下面代码中利用的是牛顿迭代法求平法根),为了更好的学习,我们不去调用sqrt函数以及fabs函数,可以自己动手写一下。

2019-09-29 14:48:05 1629

转载 牛顿迭代法求平方根问题

2019-09-29 13:54:36 289

转载 c++绝对值表示

方法一:用C语言中自带的绝对值函数表示:如果a是整数:#include<stdio.h>#include<math.h>int a=100,b;b=abs(a);printf("%d",b);如果a是浮点数:#include<stdio.h>#include<math.h>float a=99.9;float b;b=fabs...

2019-09-29 12:16:10 17505

原创 C++只对小数点后面位数限定法

分析:"%-.2f"为了只对小数点后面位数限定,不对整数部分限定。#include<iostream>#define PI 3.14159int main(){ double r,c,s; std::cin>>r; printf("%-.2f %-.2f",2*r*PI,PI*r*r); return 0;}...

2019-09-29 12:08:19 368

原创 C++/C小数点精度问题

河南轻工业学院OJ 1010学习:cout<<setiosflags(ios::fixed)<<setprecision(2);//需要头文件#include 然后再输出实数类型变量即可以保留2位小数输出了,当然你要保留三位小数,setprecision(3)就行。setprecision是指设置输出精度,当没有cout<<setiosflags(io...

2019-09-29 10:58:51 2435

空空如也

空空如也

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

TA关注的人

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