自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

艾哥哥的博客

简单算法的编写

  • 博客(18)
  • 收藏
  • 关注

原创 蓝桥杯,历年真题,括号序列

//蓝桥杯:括号序列#include<iostream>#include<cstring> #include<algorithm>using namespace std;typedef long long ll;const int MOD = 1e9 + 7, N = 5005;ll dp[N][N] = { 0 };string str;int n;int calc() { memset(dp, 0, sizeof(dp)...

2022-04-04 11:47:45 1567

原创 蓝桥杯,历届真题 双向排序

#include <iostream>using namespace std;const int N = 100010;pair<int, int> sk[N]; //struct型,结构体,模板int arr[N];int main() { ios::sync_with_stdio(false); //加快输入输出,速度起码提升两倍 int n, m, top = 0; //记录顶部位置 cin >> n &g...

2022-03-28 20:16:16 451

原创 蓝桥杯,历届真题 时间显示

代码:很简单#include <iostream>#include <time.h>using namespace std;int main(){ long long n; long long a, b, h, m, s; cin >> n; n /= 1000; //求出秒数 a = n % (3600 * 24); h = a / 3600; //小时 b = a % 3600; ...

2022-03-27 16:15:00 209

原创 蓝桥杯,算法训练 礼物 C++ 详情解析(二分法和贪心)

方法一:二分法 我们通过简单二分,拆出两部分来,一开始确定 l、r、mid的位置,l为起始位置,r为最后的石子,mid为中间位置 mid = (l + r)/2,且mid也表示K(1~mid)值,即一边所能拿的石子个数。确定左右两边拿的石子个数后,判断在位置mid的左右两边的石子个数是否有mid个,有则判断是否符合质量和小于等于S。代码解释已经很详细,看代码解析。不会含义的自己跟着代码动手画一画流程,便能理解到位。

2022-03-24 16:18:36 2227 2

原创 蓝桥杯,算法训练 无聊的逗C++ (利用补集与子集求解)注释详细

观察这道题,我们可以尝试很多种方法,但是有一种经典的方法是,把每个木棍转化为二进制思想。比如现在有四根木棍,就可以看作有四位二进制数(0000),然后就可以用0、1分别表示没选和选了的小木棍,0110就是第2、第3的小木棍。

2022-03-21 16:27:50 1264 1

原创 蓝桥杯,算法训练 数字游戏C++(DFS算法)

这个问题在于排列出n个数的所有情况,然后按照题目要求以此判断是否符合条件,全排序可运用深度优先搜索算法 (DFS),一条路走到底。每排列出n个数便进行条件判断,代码中附有详情解释。再者运用dp数组,记录每次排序后的数值,方便进行条件判断。

2022-03-20 11:26:23 623

原创 蓝桥杯,算法训练,拿金币C++(dp数组解法)

这是经典的动态规划问题,运用dp数组来记录在每一格所拿到的最大金币数。

2022-03-19 15:52:55 1252

原创 蓝桥杯,印章C++

问题描述  共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。输入格式  一行两个正整数n和m输出格式  一个实数P表示答案,保留4位小数。样例输入2 3样例输出0.7500数据规模和约定  1≤n,m≤20运用动态规划思想(dp数组)来存储每种情况的概率#include<iostream>#include<cmath>using namespace std;int main(.

2022-03-19 14:53:25 928

原创 蓝桥杯, 基础练习 序列求和(C++)

遇到序列求和,可以第一时间想到,等差数列求和公式 C = (1+N) * N / 2.由此,我们可以这样编写代码#include<iostream>using namespace std;int main() { long long n; //数据过大,得用long long类型来储存 long long sum; cin >> n; sum = ((1 + n) * n) / 2; cout << sum <&lt

2022-03-17 11:15:30 7198

原创 蓝桥杯,圆的面积,c++

#include<iostream>using namespace std;#define PI 3.14159265358979323int main() { double r; double s; cin >> r; s = PI * r * r; printf("%6.2f",s); return 0;}

2022-03-17 11:02:02 566

原创 蓝桥杯,基础练习 Fibonacci数列(斐波那契数列) C++

问题:Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。样例输入10样例输出55

2022-03-16 15:27:36 4610

原创 闰年判断(C++)

闰年判断

2022-03-15 19:12:00 7868

原创 蓝桥杯,基础练习 字母图形

蓝桥杯,基础练习 字母图形

2022-03-15 16:32:31 155

原创 蓝桥杯,基础练习 数列特征C++

蓝桥杯基础训练;数列特征

2022-03-15 13:34:57 496

原创 蓝桥杯,杨辉三角形

题目:杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。下面给出了杨辉三角形的前4行:1 1 11 2 1 1 3 3 1给出n,输出它的前n行。代码:#include<iostream>using namespace std;#define N 34int main() { int n ; cin >> n; long long a[N

2022-03-14 16:48:42 123

原创 蓝桥杯,特殊数字C++

蓝桥杯特殊数字

2022-03-14 13:01:16 579

原创 蓝桥杯,回文数C++

蓝桥杯回文数

2022-03-14 11:34:36 448

原创 蓝桥杯,特殊回文数C++代码解析

蓝桥杯,特殊回文数,

2022-03-14 10:50:54 793

空空如也

空空如也

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

TA关注的人

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