自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 试题 H: 杨辉三角形(日常暴力解法)

虽然超时了!!!!超时了!!!!超时了!!!但给自己一个念想吧。毕竟自己努力了那么长时间。。。。。为什么蓝桥杯的数据那么烦人啊!!!!!!!太伤心了。题目描述下面的图形是著名的杨辉三角形:如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列:1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1, \cdots1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,⋯给定一个正整数NN,请你输出数列中第一次出现NN是在第...

2022-04-06 22:05:41 533

原创 2021 蓝桥杯b组 试题 G: 砝码称重(回溯暴力解法)

问题描述你有一架天平和NN个砝码,这NN个砝码重量依次是W_1, W_2, · · · , W_NW1​,W2​,⋅⋅⋅,WN​。请你计算一共可以称出多少种不同的重量? 注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数NN。第二行包含NN个整数:W_1, W_2, W_3, · · · , W_NW1​,W2​,W3​,⋅⋅⋅,WN​。输出格式输出一个整数代表答案。样例输入31 4 6样例输出10样例说明能称出的...

2022-04-06 12:57:33 887

原创 2021 蓝桥杯试题 E: 路径

#include<iostream>#include<math.h>#include<limits>using namespace std;int gcd(int a,int b){ if(b==0) { return a; } else { return gcd(b,a%b); }}int getvalue(int a,int b){ int gccd=gcd...

2022-04-05 17:36:18 461

原创 算法训练 集合运算

首先我们谈一谈set集合1.set集合里的元素是有序的(默认是从小到大的排序)当set集合的里的元素为结构体的时候。需要去重载运算符。下面就是年龄从小到大的排序class student{public:int age;booloperator <( student p){return age<p.age;}}2.set集合里的元素是无重复的(当我们insert后如果set发现两个元素是一样的,会自动不去插入的)首先谈谈set集合里的一些基.

2022-03-31 15:53:34 1305

原创 算法训练 摆动序列(回溯算法篇)

#include<iostream>using namespace std;int a[25];//记录序列int ans=0;//记录种类int b[25]={0};//辅助数组int l=0;//记录第几个数int check (int m){ if(l<2) { return 1; } if(a[l]>a[l-1]&&m<a[l-1]) { return 1; .

2022-03-29 18:12:36 1136

原创 算法训练 操作格子

逐步向下递归,找到数组内的结点。输入进叶子结点中,然后返回上一个调用的区间(去更新)去更新这个区间,这里主要用到的是线段树。小伙伴想了解具体的方法,可以去看看线段树的内容,谈谈我的想法吧,线段树,其实就是算是二叉排序树的一种(但也不像)因为二叉排序树,并不要求是二叉完全树,而线段树是二叉完全树,并要求以二叉排序树的方法进行,查找,更改。最后一步一步区间进行分配,最后叶子结点都是数组的结点。非叶子都是a[i]到a[j]的区间。所以有了左边界与有边界的说法。线段树,等等有时间的时候再细谈,但毕.

2022-03-21 14:58:07 117

原创 讲解 算法训练 安慰奶牛

刚写完这玩意,心情有点复杂,被整崩溃了什么都没问题,就是超时了,最后服了,排序出问题了,冒泡排序时间复杂度太大了,这我是万万没想到的。把冒泡排序一改,程序立马就过了,人疯了,讲解等等再发。#include <iostream>#include <algorithm>#include <cstring>using namespace std;struct bian{ int from;//起点 int to;//终点 int qua...

2022-03-14 19:42:46 1537

原创 bellman算法流程

迪杰斯特拉的算法正如我们所知道的,该算法虽然时间复杂度低,但是只适用于无负权值的图所以当我们遇到有负值的图呢?前提 是无负值的环同时做了很多的无用工这时候就需要bellman-ford算法先说说bellman-ford算法的流程吧1.首先一个边集合(记录边的起点,终点,权值)struct bian(记录每一条边){ int v;//起点 int w;//终点 int quan;//权值};然后就是我们的常客dis[]兄弟了(记录源点到终点的距离的)...

2022-03-13 17:06:01 934

原创 谈谈迪杰斯特拉算法的理解

迪杰斯特拉算法的步骤1.两个集合S 和T集合2.S里首先存储的是我们的源点,T是其他点3.然后我们更新从原点到其他点的距离,并选出最小的值的终点为中转点(这里讲的不是很清楚,建议和数据里的例子一起看)(循环)4.直到T集合没有元素为止,我们就可以得到源点到每一个点的最终距离这里我们来谈谈为什么要选择最小的值的点作为中转点。首先我特别喜欢有位博主写的每一次(第3步骤的循环)就会出现一个源点到改点的最小路径(确实,非常正确)首先我们谈谈第一次循环假设5个点 a,b,c,d,e。a到b为5a

2022-03-13 02:46:32 544

原创 基础练习 高精度加法

#include <iostream>#include <string>#include <string.h>using namespace std;int main(){ string a; string b; cin>>a; cin>>b; int aint[105]; int bint[105]; int cint[105]={0}; int i; int j;...

2022-03-10 20:26:13 177

原创 基础练习 2n皇后问题(c++)

使用 回溯算法 去想。建议看前 先去理解8皇后问题。这里是先排的白皇后,再去排黑皇后。#include <iostream>#include <math.h>#include <cstdio>#include <cmath>using namespace std;int a[10][10];//棋盘aint n;//表示有n行去排int ans=0;int whitec(int row,int w[],int line){ ..

2022-03-09 20:18:11 1248

原创 基础练习 报时助手

#include <iostream>using namespace std;int main (){ string name[21]={"zero","one","two","three","four","five","six","seven","eight","nine","ten", "eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"...

2022-03-08 16:20:32 94

原创 基础练习 回形取数

谈谈思路第一次写的时候硬是想不出来。以前也是写过的。当时也是没写出来。。。。看了看别人的代码,感觉懂了就自己写去了。1.下面有四个子循环,分别对应着1.向下走操作。2.向走右.3.向上走.4.向左走2.注意有个辅助数组。如果走这一格,则将此赋值为一。3.注意while()循环中有个判断(下一步格子)是否被走过了。如果被走过了,则代表。这个格子不能由当前操作去做。而应该由下一个操作去执行。由下一个操作走当前的格子。4.画图吧。大概就是这样的流程。#include <.

2022-03-08 15:50:42 191

原创 基础练习 龟兔赛跑预测

加油!!!!#include <iostream>using namespace std;int main (){ int v1,v2,t,s,l; cin>>v1>>v2>>t>>s>>l; int lw,lr; lw=lr=l; int i=0; while(1) { if(lw==0||lr==0) break; ...

2022-03-07 20:02:59 135

原创 基础练习 芯片测试

本来想用string写的,但输入会不符合格式于是会wra.最后将所有的string换为char[][],最后才对思路很简单(就是多个数求最大值的问题)第一个芯片与其他芯片依次运算如果两个芯片一样则放在good数组中并记录good的值将good认为是最大值再讲循环第二个芯片........比较出最大的good;然后输出good。#include <iostream>using namespace std;int panduan(char*m,char*x,i

2022-03-07 19:33:40 664 1

原创 基础练习 FJ的字符串

第一次自己写递归。感觉真不错。#include <iostream>using namespace std;string b="";int A(int i){ if(i==1) { b="A"; return 0; } else { A(i-1); b=b+(char)('A'+i-1)+b; }}int main (){ int num; cin&...

2022-03-07 15:17:04 147

原创 基础练习 Sine之舞

纯属答案凑出来了(小白一名,不熟递归,循环写的)思路是1.专门写一个cout<<An的函数;2.再cout<<"+"<<n;(主函数负责其他部分)总结:(找规律)从组成整体的最小的整体出发。再一步向后输出。#include <iostream>using namespace std;void A(int i){ int j; for(j=1;j<=i;j++) { cout<<...

2022-03-07 12:41:46 144

原创 基础练习 矩形面积交

将长宽,其实可以分为两组数据的乘积如果两组矩形是有交积的话一下这种情况的(从特殊到一般)长的左点是一定是max(min(x1,x2),min(x3,x4)).至于为什么是max值因为你如果是min值。那么你的左点就不是相交的那个点了。至于长的右点高的上点与下点都是同理。写的比较模糊。可能是自己也没完全搞懂吧一#include <iostream>#include <iomanip>using namespace std;double max.

2022-03-05 20:46:41 84

原创 基础练习 矩阵乘法

萌新谈谈想法吧1.首先肯定是要有一个幂循环的2.我们需要一个循环控制a[n][n]的行3.我们需要一个循环去控制b[n][n]的列4.我们需要一个循环去a的某一行,去b的某一列去累加(累加循环)。#include <iostream>using namespace std;int main (){ int n,m; cin>>n; cin>>m; int a[n][n]; int b[n][n]; ...

2022-03-05 15:39:15 192

原创 基础练习 分解质因数

使用数学方法短除法。(对于这种问题可以先去查查数学方法)2、短除法从最小的质数除起,一直除到结果为质数为止。分解质因数的算式的叫短除法。代码如下#include <iostream>#include <math.h>using namespace std;int judge (int x){ int i; for(i=2;i<=(int)sqrt(x);i++) { if(x%i==0) { ...

2022-03-03 20:48:38 157

原创 蓝桥杯 基础练习 时间转换

#include <iostream>using namespace std;int main(){ int a[3][1]; int i; for(i=0;i<3;i++) { a[i][0]=0; } int t; cin>>t; i=0; while(t) { a[i][0]=t%60; i++; t=t/60; }...

2022-03-03 16:04:59 130

原创 蓝桥杯 基础练习 十六进制转八进制

刚好准备蓝桥杯,在代码方面就是个小白,大佬勿喷,仅仅是存个档#include <iostream>#include <string>#include <string.h>using namespace std;int main(){ string s1;//用于存16进制 string s2;//用于存2进制 int n; int i; int a;//用于二进制转化 int t;//用于二进制转化 ...

2022-03-03 15:34:55 108

空空如也

空空如也

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

TA关注的人

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