自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于进制的知识总结

进制知识

2022-06-02 20:15:05 2428

原创 储存知识总结

关于储存的知识适用于各个比赛。算法

2022-06-02 20:12:52 157

原创 模板 33: 零钱兑换函数

int mincoins(int coinindex, int amount)if(amount ==0) return 0;if( coin Index>= Coinsnumber) return-1;int minnumber INT MAX:int currentcoinnumber=0iwhile (amount >= 0)[int currentmin mincoins(coinindex +1, amountif ((currentmin >=0)&&a.

2022-04-18 21:07:43 196

原创 模板 32: 倍增 a^b%p

#include<bits/stdc++.h>#define LL long long using namespace std;int main() { int a,b,p,ans=1; cin>>a>>b>>p; while(b){ if(a&1)ans=(LL)ans*a%p; a=(LL)a*a%p; b>>=1; } cout<<ans%p<<endl; return 0; }

2022-04-17 18:23:26 177

原创 模板 31 : 并查集(围棋棋子连通)

围棋的棋子有黑色和白色两种,相同颜色的棋子如果是上下或左右相邻的,则称这两个棋子是连通的,直接或间接连通的棋子称为一块棋。•现在,不断给出N个落棋子的信息(颜色、横坐标、纵坐标),问棋盘上有多少块棋?#include<bits/stdc++.h>using namespace std;int n,m,ans;int num[1000101];//点的编号 int id[100010101];//点所在块的id void init(){//初始化 cin>&gt.

2022-04-16 20:14:44 736 1

原创 模板 30 : 单调队列通用核心代码

#include<bits/stdc++.h>using namespace std;int n,k,da[100001],dl[1000001],id[1000001],le=1,ri;int main(){cin>>n>>k;for(int i=1;i<=n;i++)//输入循环 {cin>>n>>k;}for(int i=1;i<=n;i++){//主循环 while(le<=r.

2022-04-15 19:14:57 379

原创 模板 29 : 背包问题 (动态规划 )伪代码

创建一个状态矩阵f,横坐标 i 是物体编号,纵坐标 j 为背包容量。首先将 f 第0行和第0列初始化为0接for (int i = 1; i <= n; i++){for (int j = V; j >= 0; j--){if (j >= w[i])//如果背包装得下当前的物体{f[i][j] = max(f[i - 1][j], f[i - 1][j - w[i]] + v[i]);}else//如果背包装不下当前物体{f[i][j] =

2022-04-14 22:21:46 2257

原创 模板 28: 深度优先和广度优先搜素的伪代码

深度优先搜索void dfs(int x,int y) {if(达到出口||无法继续) //相当于判断边界{ 相应操作; return; } if(对应x方向的下一步可以继续) { 添加标记;dfs(x+1,y);//调用递归 取消标记;}else if(对应y方向的下一步可以继续){添加标记;dfs(x,y+1); 取消标记;}}广度优先搜索void BFS(图){for(所有顶点){ 若该顶...

2022-04-13 21:23:04 1719

原创 模板 27 : 二分法查找

bool cheak(int a[],int x){boll flag=false;int l=1;int r=n;while(l<=r){int mid=(l+r)>>1;if(a[mid]==x){flagr=true;break;}if(a[mid]<x)l=mid+1;else r=mid-1;}}

2022-04-12 21:23:02 186

原创 模板 26:深度搜索全排列

#include<bits/stdc++.h>using namespace std;int a[11],b[11],n,sum;void dfs(int t){if(t==n+1){sum++;for(int i=1;i<=n;i++){cout<<a[i];}cout<<endl;return;}for(int i=1;i<=n;i++){if(b[i]==0){a[t]=i;.

2022-04-09 15:24:27 183

原创 模板 25:十进制转八进制(栈)

#include<bits/stdc++.h>using namespace std;int s[101];int n,top,x;int main(){cin>>n;top=0;while(n)//进栈 {top++;s[top]=n%8;n/=8;}while(top>0)//出栈 {x=s[top];top--;cout<<x;}return 0;}

2022-04-09 15:22:17 206

原创 模板 24: n的阶乘 (递推,递归)

递推#include<bits/stdc++.h>using namespace std;int main(){long long a,n;cin>>a;for(int i=1;i<=a;i++){n*=i;}cout<<n;return 0;} 递归#include <iostream>using namespace std;int f(int n){if(n

2022-04-09 15:20:44 209

原创 模板 23 : 递推 牌

题目;一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1~n。当至少还剩三张牌时进行以下操作:把第一、二张牌扔掉,然后把当前状态下新的第一张放到整叠牌的最后。输入n,输出#include<bits/stdc++.h>using namespace std;int a[10000];int main(){int n,front=0,r=0;cin>>n;//输入纸牌的个数for(int i=0;i<n;i++){a[i]=i+1

2022-04-09 15:15:18 181

原创 模板 22: 二叉树的个数(递推)

#include<bits/stdc++.h>using namespace std;int n;long long f[20];int main(){cin>>n;f[0]=1;f[1]=1;for(int i=2;i<n;i++){for(int j=0;j<i;j++){f[i]=f[i]+f[j]*f[i-j-1];}}cout<<f[n]<<endl;return 0;.

2022-04-08 23:00:48 362

原创 模板 21: 兔子繁殖 (菲波那切数列)

#include<bits/stdc++.h>//兔子问题 using namespace std;long long f[100];int n; long long fac(int n){long long p;if(f[n]!=-1) return f[n];p=fac(n-1)+fac(n-2);f[n]=p;return p;}int main(){cin>>n;memset(f,-1,sizeof f);f[.

2022-04-08 22:58:24 62

原创 模板 5-1: 求最大公因数(函数版)

#include<bits/stdc++.h>//求最大公因数(函数版) using namespace std;//运用辗转相除法int gcd(int m,int n)//n是分子m是分母 {if(n==0) return m;else{return gcd(n,m%n);} } int main(){int m,n;cin>>m>>n;cout<<gcd(m,n);cout<<.

2022-04-08 22:54:58 100

原创 模板 20 : 海伦公式 (函数方式)

题目:通过边长#include<bits/stdc++.h>using namespace std;double s(double a,double b,double c){double l=(a+b+c)/2;return sqrt(l*(l-a)*(l-b)*(l-c));}int main(){double b1,b2,b3,b4,b5,b6,b7,l,a;cin>>b1>>b2>>b3>>b4&

2022-04-07 22:16:31 331

原创 模板 19 : 递归函数

题目:输出如第一行有一个一,第二行有两个二以此类推直到n#include<bits/stdc++.h>using namespace std;void p(int n){if(n>0){p(n-1);for(int i=0;i<n;i++){cout<<n;}cout<<endl;}}int main(){p(5);return 0;}...

2022-04-07 21:32:45 68

原创 模板 18: 逆序输出字符串(1,2)

#include<bits/stdc++.h>using namespace std;int main(){ string str; cin>>str;reverse(str.begin(), str.end()); cout<<str<<endl; return 0;}2#include<bits/stdc++.h>using namespace std;int main(){cha.

2022-04-05 20:03:54 193

原创 模板 16: 最长字符串

二维数组中,非零字符串的最长长度#include<bits/stdc++.h>using namespace std;int a[1005][1005];int main(){int mun,max=0;int n,m,k,i,j;cin>>n>>m>>k;for(i=0;i<n;i++){for(j=0;j<m;j++){cin>>a[i][j];}}for(j=0;j

2022-04-05 19:48:46 195

原创 模板 17 : 大写字母转小写字母

题目:大写字#include<bits/stdc++.h>using namespace std;int main(){char a;cin>>a;if(a>='A'&&a<='Z'){int b=(int)a+32;cout<<(char)b;} else {cout<<"请输入大写字母"; }return 0;} 母转小写字母...

2022-04-05 19:45:42 51

原创 模板 15: 杨辉三角 (二维数组)

题目:输出N行杨辉三角#include<bits/stdc++.h>using namespace std;int main(){int a[100][100],n;cin>>n;for(int i=0;i<n;i++){a[i][i]=1;a[i][0]=1;for(int j=1;j<i;j++){a[i][j]=a[i-1][j]+a[i-1][j-1];}}for(int i=0;i<n;i++){for(int j=

2022-04-05 12:45:24 236

原创 模板 14 :一维数组冒泡排序

题目: 输入数组,从大到小排序#include<bits/stdc++.h>using namespace std;int main(){int a[1001];int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=0;i<=n;i++)for(int j=0;j<=n;j++){if(a[i]>a[j])swap(a[i],a[j]);}//输出他们

2022-04-03 21:34:39 194

原创 模板 13: 百元百鸡

题目: 公鸡5元一只, 母鸡3元一只,小鸡1元3只, 100元整买多少只鸡?#include<bits/stdc++.h>using namespace std;int main(){int n;cin>>n;int a[110];for(int i=1;i<=n;i++){cin>>a[i];}int max=0;for(int i=0;i<=n;i++){if(a[i]>max){max=a[i];}}co

2022-04-03 16:00:29 374

原创 模板12 :输出最大数(一维数组)

t题目: 输出数组中最大数#include<bits/stdc++.h>using namespace std;int main(){int n;cin>>n;int a[110];for(int i=1;i<=n;i++){cin>>a[i];}int max=0;for(int i=0;i<=n;i++){if(a[i]>max){max=a[i];}}cout<<max;return 0;

2022-04-03 15:17:18 44

原创 模板 11:位数输出,每位之和

题目: 输出位数 和 每位之和#include<bits/stdc++.h>using namespace std;int main(){int a;cin>>a;int d,sum;d=0;sum=0;while(a>0){sum+=a%10;d++;a/=10;}cout<<d<<" "<<sum;return 0;}

2022-04-03 15:14:11 35

原创 模板 10:素数判断

题目; 判断一个数是不是质数#include<bits/stdc++.h>using namespace std;int main(){int a;cin>>a;int i; for(i=2;i<=a;i++) { if(a%i==0) { break; } } if(i==a) { cout<<"yes"; } else{cout<<"no";}return 0;}...

2022-04-03 15:11:54 32

原创 模板7 : 字母大小写转换

题目:输入一个字符,判断它是否为大写字母,如果是,把它转换成小写字母,如果不是,不转换。然后输出最后得到的字符。#include<bits/stdc++.h>using namespace std;int main(){char a;cin>>a;a=(a>='A'&&a<='Z')?(a+32):a;cout<<(char)a;return 0;}...

2022-04-02 21:45:08 117

原创 模板9: 分解质因数

#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; for(int i=2;i*i<=n;i++) { while(n%i==0) { cout<<i<<' '; n=n/i; }retrun 0; } if(n!.

2022-04-02 21:33:42 249

原创 模板8 :乘法表

#include<iostream> using namespace std;int main(){int i, j; for (i = 1; i < 10; i++){ for (j = 1; j <= i; j++) { cout <<i<<"x"<<j<<"="<< i * j << "\t"; } cout << endl;.

2022-04-02 21:31:00 62

原创 模板6: 最大公约数和最小公倍3

#include<bits/stdc++.h>using namespace std;int main(){int a,b,c=0;cin>>a>>b;int s=a*b;if(a<b){swap(a,b);}while(a-b!=0){if(a<b){swap(a,b);}c=a-b;a=b;b=c;} cout<<s/b<<" ";cou.

2022-04-01 19:49:48 634

原创 模板5: 最大公约数和最小公倍 2

求两数的最大公约数和最小公倍数 (枚举)#include<bits/stdc++.h>using namespace std;int main(){int n,m;int d;cin>>n>>m;d=n*m;if(n<m){swap(n,m);}for(int i=n;i>=1;i--){if(m%i==0&&n%i==0){cout<<i<<" ";

2022-04-01 19:47:15 238

原创 模板 4 : 最大公约数和最小公倍数1

题目#include<bits/stdc++.h>using namespace std;int main(){ int m,n,c,d; cin>>m>>n; d=n*m; if(m<n){ swap(m,n); } while(m%n!=0) { c=m%n; m=n; n=c; } cout<<n<<" "<&

2022-04-01 19:44:09 354

原创 模板3:条件嵌套

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。#include<bits/stdc++.h>using namespace std;int main(){int a;cin>>a;if(a>=90){cout<<"A";}else if(a>=60&&a<90){cout<<"B";}else{cout&lt

2022-03-31 12:31:51 44

原创 模板2 :else if

else if

2022-03-31 12:26:48 47

原创 模板1 : Switch 语句

算法模板 switch

2022-03-31 12:22:59 169

原创 c++十大排序之插入排序(例题+代码+注释+讲解+动态图)

题目:小明是一个一年级小学生今天老师给小明布置了一项非常简单的题目:老师让小明2,4,7,8,3,5,9,1,0,6这十个数进行排序但小明却一点都不想做你能写一个c++的程序帮帮他吗?提示:插入排序输入:无输出:0 1 2 3 4 5 6 7 8 9样例输入:无样例输出:0 1 2 3 4 5 6 7 8 9源代码及注释:#include<iostream>//看不懂注释的请先看下面的讲解 using namespace std;int

2022-02-27 11:14:55 376

原创 c++十大排序之计数排序(例题+代码+注释+讲解+动态图)

特点:1.通过计数而不是比较来进行排序2.shi'yong'yu'fan'wei'jiao'xiao

2022-02-26 11:13:50 774

原创 c++十大排序之快速排序(例题+代码+注释+讲解+动态图)

对于新手来说函数虽然简单但如果把所有代码结合到一起对于小白就很难理解了所以就有了今天的文章:今天是先讲解在练习:快速排序是冒泡排序的升级版(也可以叫改进版)下面是简介:快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。动态图与讲解:从数列中挑出一个元素,称为 "基准".

2022-02-23 18:50:13 1139

原创 c++十大排序之桶排序(最底下有解释,非常易懂)

十大排序之桶排序(最底下有解释,非常易懂)c++

2022-02-20 11:40:33 962

空空如也

空空如也

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

TA关注的人

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