![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法(含数据结构)笔记
本人对于算法类题的一些积累和学习笔记
九霄云客
一个脚踏实地的梦想家
展开
-
数据结构和算法设计(Python&&C/C++)---蓝桥入门训练
蓝桥入门训练(Python&&C/C++):试题介绍蓝桥入门训练(Python&&C/C++):1. A+B问题2. 序列求和3.圆的面积4.Fibonacci数列1. A+B问题2. 序列求和3.圆的面积4.Fibonacci数列# 总结例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。...原创 2021-01-06 15:03:45 · 318 阅读 · 1 评论 -
蓝桥入门训练(Python&&C/C++)---Fibonacci数列
定位:蓝桥杯练习系统—入门训练BEGIN-4原题:Fibonacci数列问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。样例输入10样例输出55样例输入22样例输出7704数据规模与约定1 <= n <= 1,000,000。资源限制时间限制:1.0.原创 2021-01-06 14:44:18 · 202 阅读 · 0 评论 -
蓝桥入门训练(Python&&C/C++)---圆的面积
定位:蓝桥杯练习系统—入门训练BEGIN-3原题:圆的面积问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。说明:在本题中,输入是一个整数,但是输出是一个实数。对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。样例.原创 2021-01-05 17:12:01 · 200 阅读 · 0 评论 -
蓝桥入门训练(Python&&C/C++)---序列求和
定位:蓝桥杯练习系统—入门训练BEGIN-2原题:序列求和问题描述求1+2+3+…+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+…+n的值。样例输入4样例输出10样例输入100样例输出5050数据规模与约定1 <= n <= 1,000,000,000资源限制时间限制:1.0s 内存限制:256.0MB属性:基本语法难度:入门独白:还是比较简单的,当然如果你直接循环求和那肯定不对,计算的数据量太大,倘若我.原创 2021-01-05 16:23:03 · 261 阅读 · 0 评论 -
蓝桥入门训练(Python&&C/C++)---A+B问题
A+B问题:问题描述输入A、B,输出A+B。输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。输出格式输出一行,包括一个整数,表示A+B的值。样例输入12 45样例输出57数据规模与约定-10000 <= A, B <= 10000。...原创 2021-01-04 15:58:26 · 372 阅读 · 0 评论 -
小九的算法学习之路
真正接触算法学习大概也有大半年了吧,过程很艰辛,学校也不开这门课,没有老师来带,都得靠自己一点一点摸索,因为起初二级花了点时间,二级得到优秀后,开始着手准备蓝桥杯,我在dot.cpp和51node上都有账号,都刷过题,但对于算法还是一知半解,我最开始学会的是循环枚举这样的题,后来渐渐掌握了普通的模拟题型。这是我学习算法的第一个阶段,是不是很小白呢,黑脸x3。。。接下来我在dot.cpp上学习了STL,只学会了皮毛中的皮毛—sort函数以及采用结构体使得sort函数具有cmp参数即根据cmp参数来进行排序,原创 2020-10-24 23:16:15 · 262 阅读 · 0 评论 -
复习题及新题训练14---
定位:属性:难度:代码:在这里插入代码片感悟:归档:元魂:水神兽原创 2020-09-17 12:16:28 · 66 阅读 · 0 评论 -
蓝桥试题---如何导入数据运行c++程序
定位:2020第十一届蓝桥杯省赛C/C++B组 REPEAT程序(7月试题)代码://#include<bits/stdc++.h>#include<iostream>#include<cstdio>using namespace std;//字符转数字 int ctn(char n){ switch(n){ case('1'): return 1; case('2'): return 2; case('3'): return 3;.原创 2020-09-17 09:29:26 · 432 阅读 · 0 评论 -
复习题及新题训练13---星期几
定位:算法集/蓝桥杯训练营2——星期几属性:日期问题难度:入门代码://#include<bits/stdc++.h>#include<iostream>#include<cstdio>using namespace std;int ans,w;int main(){ w=7; for(int i=1950;i<2012;i++){ if(i%400==0||(i%4==0&&i%100!=0)){ w.原创 2020-09-16 11:19:08 · 48 阅读 · 0 评论 -
复习题及新题训练12---第n阶台阶
定位:算法集——第n阶台阶属性:递归难度:破壳代码://上台阶//#include<bits/stdc++.h>#include<iostream>using namespace std;int total;int sum(int step,int num,int n){ if(step>n){ return 0; } if(step==n&&num%2==0){ total++; return 0; } sum(st.原创 2020-09-14 17:19:21 · 43 阅读 · 0 评论 -
复习题及新题训练11---迷宫
定位:算法笔记—迷宫(路径输出)属性:难度:代码:在这里插入代码片感悟:归档:元魂:雷神兽原创 2020-08-28 16:59:25 · 49 阅读 · 0 评论 -
复习题及新题训练10---x皇后问题
定位:C语言网 题目2047属性:dfs+回溯/全排列函数难度:初级代码:在这里插入代码片//#include<bits/stdc++.h>#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>using namespace std;int n,a[15],p;int main(){ cin>>n; for(int i=1.原创 2020-08-27 11:27:23 · 61 阅读 · 0 评论 -
复习题及新题训练9---全排列(dfs+回溯)
定位:中阶算法—递归(4)属性:dfs+回溯难度:入门代码://#include<bits/stdc++.h>#include<iostream>#include<cstdio>using namespace std;int n,a[15];bool vis[15];void dfs(int x){ if(x>n){ for(int i=1;i<=n;i++){ printf("%d ",a[i]); } print.原创 2020-08-26 23:28:06 · 45 阅读 · 0 评论 -
复习题及新题训练8---全排列(调用函数)
定位:中阶算法—递归(4)属性:全排列函数难度:入门代码://#include<bits/stdc++.h>#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,i,a[10];int main(){ cin>>n; for(i=1;i<=n;i++){ a[i]=i; } do{ for(i=1;i.原创 2020-08-26 18:18:27 · 58 阅读 · 0 评论 -
复习题及新题训练7---杨辉三角形
定位:C语言网 题目1482属性:模拟难度:破壳代码://#include<bits/stdc++.h>#include<iostream>#include<cstdio>using namespace std;const int N=50;int a[N][N],n,x;int main(){ cin>>n; for(int i=0;i<=n;i++){ a[i][0]=1,a[i][i]=1; for(int j=.原创 2020-08-26 16:17:15 · 107 阅读 · 0 评论 -
复习题及新题训练6---第几天
定位:2018第九届蓝桥杯省赛C/C++B组第一题属性:日期问题难度:入门代码://#include<bits/stdc++.h>#include<iostream>using namespace std; int y1,m1,d1,y2,m2,d2,ans;int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};void isru(int y){ if(y%400==0||(y%4==0&&y%.原创 2020-09-15 12:42:41 · 46 阅读 · 0 评论 -
复习题及新题训练5---快速幂
定位:2020第十一届蓝桥杯省赛C/C++B组第一题属性:快速幂难度:代码://#include<bits/stdc++.h>#include <iostream>using namespace std;long long FastPower(long long base,long long power){ long long result=1; while(power>0){ if(power&1){//power%2==1; resu.原创 2020-09-14 17:34:32 · 48 阅读 · 0 评论 -
复习题及新题训练4---十进制转二进制
定位:算法集-题1属性:普通递归难度:破壳代码://#include<bits/stdc++.h> #include<iostream> using namespace std; int n; int fun(int nn){ if(nn<2){ return nn; } return fun(nn/2)*10+nn%2; } int main(){ cin>>n; cout<<fun(n); re.原创 2020-09-14 16:35:42 · 59 阅读 · 0 评论 -
复习题及新题训练3---哥德巴赫猜想
定位:《趣学算法》P19属性:素数问题难度:入门代码://#include<bits/stdc++.h>#include<iostream>#include<cstdio>using namespace std;const int N=5000;int n,p,q,i,j;int prime[N];void isprime(int nnn){ for(i=2;i<=nnn;i++){ for(j=i*i;j<=nnn;j+=i).原创 2020-08-25 14:31:45 · 66 阅读 · 0 评论 -
复习题及新题训练2---fibonacci
定位:2019第十届蓝桥杯省赛C/C++B组第三题属性:普通经典递推难度:破壳代码://#include<bits/stdc++.h>#include<iostream>using namespace std;int main(){ int n,a1,a2,a3,a4; cin>>n; if(n==1||n==2||n==3){ cout<<1; }else if(n==4){ cout<<3; }else{ .原创 2020-08-25 14:05:54 · 45 阅读 · 0 评论 -
复习题及新题训练1---汉诺塔
定位:C语言网题库 2056属性:普通经典递归难度:破壳题代码:在这里插入代码片感悟:归档:处理中原创 2020-08-25 09:16:27 · 53 阅读 · 0 评论 -
DFS经典模板题---迷宫(路径输出)
题目描述:实现一个迷宫问题的求解要求:输入一个nxn的矩阵,以0代表道路,以1代表障碍物,实现一个算法,要求能够给出从入口(默认为左上角)到出口(默认为右下角)的路线。输入第一行一个n。第二行开始是一个(n+2)x(n+2)的矩阵(四周边框为1)输出从左上角(1,1)到右下角(n,n)的序列。测试用例确保具有通路//#include<bits/stdc++.h> #include<iostream>#include<cstring>#include原创 2020-05-23 13:53:42 · 1360 阅读 · 0 评论 -
每日一题---小凯的疑惑
题目描述小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。输入格式两个正整数 a和b,它们之间用一个空格隔开,表示小凯中金币的面值。输出格式一个正整数 n,表示不找零的情况下,小凯用手中...原创 2020-05-08 14:16:56 · 1730 阅读 · 0 评论 -
每日一题---村庄建设
问题描述2015年,全中国实现了户户通电。作为一名电力建设者,小明正在帮助一带一路上的国家通电。这一次,小明要帮助 n 个村庄通电,其中 1 号村庄正好可以建立一个发电站,所发的电足够所有村庄使用。现在,这 n 个村庄之间都没有电线相连,小明主要要做的是架设电线连接这些村庄,使得所有村庄都直接或间接的与发电站相通。小明测量了所有村庄的位置(坐标)和高度,如果要连接两个村庄,小明需要花费两个村庄...原创 2020-05-05 13:16:11 · 554 阅读 · 0 评论 -
每日一题---摆动序列
问题描述如果一个序列的奇数项都比前一项大,偶数项都比前一项小,则称为一个摆动序列。即 a[2i]<a[2i-1], a[2i+1]>a[2i]。小明想知道,长度为 m,每个数都是 1 到 n 之间的正整数的摆动序列一共有多少个?输入格式 输入一行包含两个整数 m,n。输出格式 输出一个整数,表示答案。答案可能很大,请输出答案除以10000的余数。样例输入3 4样例...原创 2020-04-30 21:13:09 · 306 阅读 · 0 评论 -
每日一题---序列计数
【问题描述】小明想知道,满足以下条件的正整数序列的数量:第一项为 n;第二项不超过 n;从第三项开始,每一项小于前两项的差的绝对值。请计算,对于给定的 n,有多少种满足条件的序列。【输入格式】输入一行包含一个整数 n。【输出格式】输出一个整数,表示答案。答案可能很大,请输出答案除以10000的余数。【样例输入】4【样例输出】7【样例说明】以下是满足条件的序列:4 ...原创 2020-04-30 20:18:01 · 472 阅读 · 0 评论 -
每日一题---摔手机
x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔...原创 2020-04-30 10:42:12 · 890 阅读 · 0 评论 -
每日一题---长草
【问题描述】小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小块空地扩展,这四小块空地都将变为有草的小块。请告诉小明,k 个月后空地上哪些地方有草。【输入格式】输入的第一行包含两个整数 n, m。...原创 2020-04-30 09:42:29 · 402 阅读 · 0 评论 -
第十一届蓝桥杯省内模拟赛部分题解
一、字母排列 将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。请问,总共能排列如多少个不同的单词?答案提交这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。题解这题意图很明显,就是考察全排列函数permutation...原创 2020-04-29 15:24:06 · 743 阅读 · 0 评论 -
每日一题---乘积尾零
题目:如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 313...原创 2020-04-24 14:00:20 · 385 阅读 · 0 评论 -
每日一题---没有上司的舞会
题目描述某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。输入输出格式输入格式:第一行一个整数N。(...原创 2020-04-18 22:13:06 · 178 阅读 · 0 评论 -
每日一题---括号匹配(区间dp)
题意给出一行字符串,里面有 () [] 四种括号,求出有多少个已经匹配好的括号。解题思路状态转移方程为dp[i][j]表示第i位和第j位字符间匹配数当s[i]匹配s[j]时 dp[i][j]=dp[i+1][j-1]+2然后 还有一部不论匹不匹配,都要dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j])在这里插入代码片...原创 2020-04-18 15:11:49 · 249 阅读 · 0 评论 -
每日一题---斗地主(dfs贪心法记搜+dp状态优化)
题目描述牛牛最近迷上了一种叫斗地主的扑克游戏。斗地主是一种使用黑桃、红心、梅花、方片的AA到KK加上大小王的共54。54张牌来进行的扑克牌游戏。在斗地主中,牌的大小关 系根据牌的数码表示如下:3<4<5<6<7<8<9<10<J<Q<K<A<2<\text{小王}<\text{大王}3<4<5<...原创 2020-04-14 02:59:47 · 1160 阅读 · 0 评论 -
每日一题---明码
汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是:第1字节,第2字节第3字节,第4字节…第31字节, 第32字节这道题目是给你一段多个汉字组...原创 2020-04-08 08:04:47 · 443 阅读 · 0 评论 -
第十一届蓝桥杯校内模拟赛部分题解
填空题问题描述 在计算机存储中,15.125GB是多少MB?答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。...原创 2020-04-07 17:54:08 · 639 阅读 · 0 评论 -
每日一题---第几天
2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容。答案:125参考代码#include<bits/stdc++.h>using namespace std;int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int main(){ i...原创 2020-04-02 17:20:30 · 359 阅读 · 0 评论 -
每日一题---后缀表达式
这题其实主要涉及的是分类贪心的思想,而且这道题贪心的思路并不仅限于数字顺序的问题,还可以加括号,例如:0 21 2 33−1−2=03−1−2=0 不对,3−(1−2)=43−(1−2)=4 正确1 21 2 3 4正确的顺序应该是 4+3−(1−2)=4+3+2−14+3−(1−2)=4+3+2−1也就是说,最少可以只有一个减号起作用,其余的减号全部负负得正。题目的数据范围里面...原创 2020-03-26 20:50:54 · 635 阅读 · 0 评论 -
每日一题---完全二叉树的权值
这题看起来好像是在考树的编码,实际上和树还真没多大关系,但有一点一定要注意了,就是!完全二叉树不一定是满二叉树(不一定每层都是2^n)!第一次自己码的时候,就当做满二叉树了,感觉还怪简单,事后才知道错了o(╥﹏╥)o,后来修正后,代码还是有问题。。。代码如下:#include<bits/stdc++.h>using namespace std;int main(){ ...原创 2020-03-24 22:34:41 · 424 阅读 · 0 评论 -
每日一题---等差数列
这题乍一看思路清晰,首先对数列进行排序,然后相邻两项做差,取差的最小值作为公差;最后用有序数列的首项减去尾项除以2再加上1;即可;然而,对于这样一组值:45 7 10 16结果不对,正确结果应该为12,于是公差应该时所有差值的最大公因数;此外这题还有一个陷阱,就是当d=0时为常数数列,答案为n.综合来说,这题虽然不算是难题,但想要一次性做对也不容易。如果没有较高的数学素养,很容易想...原创 2020-03-18 23:23:34 · 373 阅读 · 0 评论 -
每日一题---特别数的和
这题简单枚举就完事了,因为n不是一个确定的数所以最好调用函数来做,而且关于调用函数怎么设计还是有点技巧的.代码如下:#include<bits/stdc++.h>using namespace std;bool isok(int x) { for (; x > 0; x /= 10) if (x % 10 == 2 || x % 10 == 0|...原创 2020-03-18 17:34:40 · 189 阅读 · 0 评论