- 博客(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++
问题描述 共有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 <<
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
原创 蓝桥杯,杨辉三角形
题目:杨辉三角形又称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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人