蓝桥杯
算法_付金瑜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
跳蚱蜢bfs
蓝桥杯原创 2023-03-09 15:19:19 · 207 阅读 · 0 评论 -
[蓝桥杯2017初赛]日期问题(旧题新做)
这题我没做出来,我是参考了大佬的博客才写出来的//[蓝桥杯2017初赛]日期问题//这道题是一道关于处理的题,也涉及思维,不过我确实没想到,继续学习吧,吃一堑长一智呗////#include<bits/stdc++.h>using namespace std;#define ll long longtypedef struct{ int nian; int yue; int ri; int all;//添加一个成员变量all,all的意思是日期的数字化,比如说"202原创 2022-04-02 17:38:59 · 506 阅读 · 0 评论 -
[蓝桥杯2018初赛]递增三元组(旧题新做,二分算法处理边界情况)
再次做这道题已经感觉到对二分算法应用的不熟练,特地写一篇博客来记录一下,没有练算法已经好几个月了,不知道是脑子的秀逗还是之前就没把这个算法给学好,估计之前都没把这个算法给学好,见代码#include<bits/stdc++.h>using namespace std;#define ll long longint main(){ ll n; cin>>n; ll a[n],b[n],c[n]; for(ll i=0;i<n;i++){ cin>>原创 2022-04-02 15:29:17 · 517 阅读 · 0 评论 -
[蓝桥杯2017初赛]k倍区间(旧题新做)
// [蓝桥杯2017初赛]k倍区间//这道题我只想说好你个余数相同差为零,瞬间打开我的思路//我最初暴力遍历了,但是时间可能会超时,我再想个解法,就是用前缀和,但是我这次用的前缀和方法不对,时间复杂度仍然是O(N^2)//最后看大佬的博客原来是余数相减,%k余数相同的前缀和直接相减就是就是k的倍数#include<bits/stdc++.h>using namespace std;#define ll long long//ll n,k;//ll a[N];//bool原创 2022-03-30 22:25:51 · 638 阅读 · 0 评论 -
[蓝桥杯2017初赛]等差素数列(旧题新做)
感觉现在比大一时还菜鸡,,呜呜,昨晚做了一道等差素数列的题,这是我昨晚写的代码,简直不堪入目,都没有运行出来#include<bits/stdc++.h>using namespace std;#define ll long longconst int N=1e5;bool pri(int n){ for(int i=2;i<=sqrt(n);i++){ if(n%i==0){ return false; } } return true;}int mai原创 2022-03-30 10:40:03 · 542 阅读 · 0 评论 -
[蓝桥杯2019初赛]外卖店优先级(旧题新做)
我愿称自己为菜鸡,呜呜,这题我少考虑了还要对时间进行排序后才能进行后续操作,考虑了少了呗,就测了个样例就直接提交,当然是wa了,后来我又看了之前的代码写的很麻烦现在的代码#include<bits/stdc++.h>using namespace std;#define ll long longstruct order{ int ti; int id;};bool cmp(order a,order b){ return a.ti<b.ti;}int main()原创 2022-03-29 17:46:47 · 167 阅读 · 0 评论 -
单元最短路与多源最短路的学习
//单源最短路径算法#include<bits/stdc++.h>using namespace std;#define INF 99999999// 1.未访问节点 2.中间节点 3.已访问的节点vector<int> Dijkstra(vector<vector<int> > &graph,int start){ //graph代表图的邻接矩阵 int n=graph.size(); vector<int> v原创 2022-03-10 17:37:47 · 224 阅读 · 0 评论 -
第十二届蓝桥杯省赛c++b组—直线(填空题)(旧题新做)
点击进入——直线爆红了好几次呢,关于这题我最想说的一点,还是数学,如果数学不到位,这道题就得不到分,我第一次的思路是只根据斜率k值来计算,但是这个思路不可行,想不出来结果。后来学长说由k值和b值来做,就是建立一个直角坐标系由两点确定一条直线,公式y=kx+b来做,对,这就是大方向的思路,是可行的。中间交代码时爆红了好几次,这就是我要说的数学了,涉及c++语言的高精度损失,但是可以用Java的数字转字符串的功能补救,但是c++没有封装这样的函数,这样补救就特别麻烦。参考了他人的博客,发现了错误,见代码原创 2022-03-06 20:00:51 · 720 阅读 · 0 评论 -
C++STL之Map容器
简介Map也是一种关联容器,它是 键—值对的集合,即它的存储都是以一对键和值进行存储的,Map通常也可以理解为关联数组(associative array),就是每一个值都有一个键与之一一对应,因此,map也是不允许重复元素出现的。同时map也具备set的相关功能,其底层也会将元素进行自动排序,相关文件头文件:#include初始化格式为:template < class Key,class T,class Compare = less,class Alloc = all原创 2021-06-04 15:54:14 · 219 阅读 · 0 评论 -
VC6的使用
Dev对于现在流行的dev,我们不得不学习一下他的设置时的注意点如果你使用了c++的功能而受阻的话,考虑下是不是没加c++的命令工具->编译器选项两个内容,编译器设置通常是4.9.2 64-bit Release调字体大小22与字体格式,一般用Consolas编译器选项->显示调字体颜色与背景颜色点击语法->Assembler->使用语法加亮为了方便的写代码可以在显示->基本有自动缩进的功能,,高亮匹配括号功能,,Tab键功能在vc6.0里没有左右原创 2021-05-17 17:18:03 · 2411 阅读 · 0 评论 -
【蓝桥】日志统计(滑动窗口)
//完全就是coding能力#include<bits/stdc++.h>using namespace std;const int n=1e5+10;int N,D,K;//日志条数,,vector<int> v[n];//编号作为下标vector<int> hot;//存入热帖编号int ts,id;//时刻,帖子编号int sz;//某个帖子出现的次数int main(){ cin>>N>>D>>K;原创 2021-06-03 17:08:21 · 205 阅读 · 0 评论 -
【含泪总结】大胖子走迷宫(bfs+读懂题意)
2548. 大胖子走迷宫小明是个大胖子,或者说是个大大胖子,如果说正常人占用 1×1 的面积,小明要占用 5×5 的面积。由于小明太胖了,所以他行动起来很不方便。当玩一些游戏时,小明相比小伙伴就吃亏很多。小明的朋友们制定了一个计划,帮助小明减肥。计划的主要内容是带小明玩一些游戏,让小明在游戏中运动消耗脂肪。走迷宫是计划中的重要环节。朋友们设计了一个迷宫,迷宫可以看成是一个由 n×n 个方阵组成的方阵,正常人每次占用方阵中 1×1 的区域,而小明要占用 5×5 的区域。小明的位置定...原创 2021-06-01 21:53:42 · 1001 阅读 · 2 评论 -
[含泪总结] 1365: [蓝桥杯2018初赛]全球变暖(dfs+bfs)
1365: [蓝桥杯2018初赛]全球变暖时间限制: 1 Sec 内存限制: 256 MB题目描述你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示:….##….##……##.…####.…###.…其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例.原创 2021-05-31 10:57:35 · 717 阅读 · 0 评论 -
第十二届蓝桥杯软件类省赛C++B组第一场 编程题
F 时间显示题目信息题目描述 小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。————————————————这道题其他没什么注意 1 s=1000 ms对应的 1 米 = 10 分米 = 100 厘原创 2021-05-08 22:15:21 · 1047 阅读 · 0 评论 -
第十二届蓝桥杯软件类省赛C++B组第一场 填空题
填空题第一题 空间问题描述小蓝准备用 256 MB 的内存空间开一个数组,数组的每个元素都是 32 位二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问256 MB 的空间可以存储多少个 32 位二进制整数?分析______________________________________先将MB转换为字节Byte,也就是Byte(B),1MB = 1024KB, 1KB = 1024B,1B = 8bit(位)所以256 MB = 256 * 1024 * 1024B,32位二进原创 2021-05-08 20:30:54 · 926 阅读 · 0 评论 -
递归
引入一下递归,递归与递推是两个概念,那么两者之间有什么区别呢?递推是由已知推->未知,递归是由未知解决未知,递归的特点是1.有问题之间的规律,2.有出口,下面是几道经典的递归问题(汉诺塔问题)void hnt(int n,char from,char mid,char to){ if(n==1) cout<<from<<"->"<<to<<"\n"; else{ hnt(n-1,from,to,mid); cout<<f原创 2021-03-24 19:14:33 · 115 阅读 · 0 评论 -
快速乘与快速幂
快速乘 两种方法都是将b作为二进制,a作为权值运算的,两种方法的好处是防止中间运行时有特别大的数据会溢出的可能,在这两种方法的中间步骤中可以及时取模,防止数据溢出int ksc(int a,int b){ int value=a,ans=0; while(b!=0){ if(b%2!=0) ans+=value; value+=value; b/=2; } return ans;}快速幂int ksm(int a,int b){ int value=a,ans=1; wh原创 2021-03-22 17:08:39 · 143 阅读 · 0 评论 -
[蓝桥杯2019初赛]外卖店优先级
链接: 外卖店优先级.刚想这道题的时候,用了时间复杂度极高的ts*id的方法,知道用空间换时间,但是不知道怎么来实现,听了讲解后发现,**空间换时间的思想是在两个数组的迭代中实现的,**一个是每个外卖店上一次有订单的时间数组,一个是每个店铺表示优先级的数组。。每次操作时都能很方便地找到所需用的数据, 避免了时间停留在无用数据上的浪费,时间复杂度为O(n) ,. , .#include<iostream>#include<cmath>#include<cstring&原创 2021-03-14 16:49:24 · 212 阅读 · 0 评论
分享