蓝桥杯题解
文章平均质量分 74
Annabel_CM
这个作者很懒,什么都没留下…
展开
-
蛇形矩阵(C++)
AcWing 756. 蛇形矩阵输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。输入格式输入共一行,包含两个整数n和m。输出格式输出满足要求的矩阵。矩阵占n行,每行包含m个空格隔开的整数。数据范围1≤n,m≤100输入样例:3 3输出样例:1 2 38 9 47 6 5#include<iostream>#include<algorithm>using namespace原创 2021-01-13 14:30:11 · 2979 阅读 · 0 评论 -
P3088 [USACO13NOV]Crowded Cows
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct pd{ int x,y;//x表示坐标,y表示高度}a[100001];pd stk[100001];bool q[100001],h[100001];//q[i]用来存储在点的左边拥挤的个数,h[i]存储右边拥挤个数inline bool..原创 2020-08-18 18:04:00 · 310 阅读 · 0 评论 -
P1884 [USACO12FEB]Overplanting S——洛谷
解题思路: 离散化 + 差分矩阵解题步骤:因为原始坐标系与差分的坐标系不同,所以要进行坐标系的变换离散化处理缩小查找空间图中坐标离散化后,再转化为格子的坐标,因为之前存贮的坐标是点的坐标,每个格子存储一个矩形#include<iostream>#include<vector>#include<algorithm>#include<map>using namespace std;typedef pair<int, int>.原创 2020-08-15 18:19:17 · 866 阅读 · 4 评论 -
P1725 琪露诺——洛谷
解题步骤:先转化一下形势f[i] = max(f[j]) + A[i] (i - R <= j <= i - L)f[i]表示当移动到i时, 的最大价值和;#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int N = 200010;const int INF = 2e9;int n,..原创 2020-08-18 18:17:39 · 291 阅读 · 0 评论 -
P3717 [AHOI2017初中组]cover——洛谷(差分)
解题思路:题目中有m个探测器,探测器的半径为r我们以放置探测器的坐标为中心(x,y),假设距离中心能被探测器探测到的坐标与中心点的坐标距离为dx, dy;算出所有可能的dx, dy;通过dx,dy算出相应的坐标,在这些坐标中插入1;最后判断坐标是否为真,计算这些坐标的总个数,就可得出被探测的点;#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>using.原创 2020-08-07 18:24:49 · 474 阅读 · 1 评论 -
回文平方(含进制转换C++)
转载:vitrovitro进制转换——————————————————————————————————————————————————————————————————AcWing 1346. 回文平方回文数是指数字从前往后读和从后往前读都相同的数字。例如数字 12321 就是典型的回文数字。现在给定你一个整数 B,请你判断 1∼300 之间的所有整数中,有哪些整数的平方转化为 B 进制后,其 B 进制表示是回文数字。输入格式一个整数 B。输出格式每行包含两个在 B 进制下表示的数字。第原创 2021-01-13 14:45:55 · 818 阅读 · 0 评论 -
Tire习题——洛谷(P2580 ^ P2922)
P2580 于是他错误的点名开始了解答一#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int N=1000001;int son[N][26],tot=1,cnt[N],x;void insert(char* str){ int len=strlen(str),p=1; for(int.原创 2020-08-23 12:11:02 · 413 阅读 · 0 评论 -
P4122 [USACO17DEC]Blocked Billboard B ——洛谷
几何分析法#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;int calculate_square(int x1, int y1, int x2, int y2);int main(){ int x[7], y[7],s1, s2, minus_s1, minus_s2; scanf("%d %d %d %d", &x[1],...原创 2020-08-15 17:19:58 · 337 阅读 · 0 评论 -
P1638 逛画展——洛谷
解题思路:题目要求,第a幅画和第b幅画之间的所有图画,至少包含每位画师的一张画;用cnt[N]存储a~b之间每位画师画作的个数,利用双指针算法,两指针同时移动,看区间内的条件是否满足要求。#include<iostream>using namespace std;const int N = 1000010, M = 2010;int cnt[M], a[N], n, m;//cnt记录名师画作个数,a[N]记录编号int main(){ cin >> n &.原创 2020-08-18 17:52:09 · 312 阅读 · 0 评论 -
P1309 瑞士轮——洛谷(归并排序C++)
题目背景在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高。后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗长。本题中介绍的瑞士轮赛制,因最早使用于18951895年在瑞士举办的国际象棋比赛而得名。它可以看作是淘汰赛与循环赛的折中,既保证了比赛的稳定性,又能使赛程不至于过长。题目描述2×N 名编号为 1∼2N 的选手共进行R 轮比赛。每轮比赛开始前,以及所有比赛结束后,都会按照总分从高到低对选手进行一次排名。原创 2020-08-01 22:00:13 · 1210 阅读 · 0 评论 -
P4440 [COCI2017-2018#3] Programiranje——洛谷(前缀和)
题意:先给出一个单词s, q个循环,每次输入A,B,C,D(为s中的序号);是指在s中A~B区间内的字母与 C-D区间内的字母,他们的字母以及对应的个数是否完全相同tmp横坐标存放字母个数, 纵坐标存放字母; 最后算出的是每个字母在每个阶段(区间)出现的总个数;#include<iostream>#include<cstring>using namespace std;int tmp[50100][26];int main(){ char c[50100..原创 2020-08-07 18:12:12 · 225 阅读 · 0 评论 -
P1824 进击的奶牛——洛谷(二分)
二分的模板找到满足某个性质的最大值int search(int l, int r){ while(l < r) { int mid = l + r + 1 >> 1; if(check(mid)) l = mid; else r = mid - 1; } return l; }找到满足某个性质的最小值int search(int l, int r){ while(l < r) { .原创 2020-08-07 17:34:44 · 687 阅读 · 0 评论 -
P1303 A*B Problem——洛谷(高精度)
题目描述求两数的积。输入格式两行,两个整数。输出格式一行一个整数表示乘积。输入输出样例输入1 2输出2解法一:#include<bits/stdc++.h>using namespace std;const int N=2005;char a1[N],b1[N];int a[N],b[N],c[N*10],lena,lenb,lenc,i,j,x;//c为最终答案 int main(){ memset(a,0,sizeof(a)); memset(b原创 2020-08-02 22:56:51 · 379 阅读 · 0 评论 -
P3406 海底高铁——洛谷(前缀和)
题意:每个城之间的路费不同,有两种收费机制,第一种是直接在每一站买票,需要花A[i]元;第二种是每站需要办理不同的IC卡需要C[i],并且充钱B[i], 但办理依次IC卡后就不需要再次办理,直接充钱即可;现在出差不是按顺序访问每一个城,所以我们首先应算出,经历每段路的次数,然后比较哪种买票机制更便宜,算出最后的票价;#include<iostream>#include<cstdio>using namespace std;int p[100005],a[100005...原创 2020-08-07 17:52:42 · 749 阅读 · 1 评论 -
P6121 [USACO16OPEN]Closing the Farm G——并查集习题
解题思路:题目要求:关闭某个谷仓之前,问这个谷仓是否为全联通突破:将删点转化为加点正序“删除每个点”前的状态等同于,倒序“增加每个点”后的状态#include<iostream>#include<vector>#include<cstdio>using namespace std;const int N = 200010;vector<int> e[N];//存储每个节点的**所有边信息**int p[N], del[N];//p记录父..原创 2020-08-23 17:45:17 · 336 阅读 · 0 评论 -
P1604 B进制星球——洛谷(高精度 C++)
#include<iostream>#include<vector>#include<string>#include<cstring>#include <cstdio>using namespace std;vector<int> add(vector<int> &A, vector<int> &B, int &h){ vector<int> C; .原创 2020-08-02 23:02:52 · 404 阅读 · 0 评论 -
UVA673 平衡的括号 Parentheses Balance——洛谷
#include<iostream>using namespace std;int main(){ cin >> num; string p; getline(cin , p); while(num--) { while(!s.empty()) s.pop(); getline(cin , p);//按行读入,可读入空串 for(int i = 0; i < p.size(); i+.原创 2020-08-18 17:37:55 · 233 阅读 · 0 评论 -
二分*习题(C++)
一元三次方程求解(来自洛谷)设方程f(x)=ax3+bx2+cx+d=0,设根的值域(-100至100之间)中有x, 其左右两边相距0.0005的地方有x1和x2两个数,即 x1=x-0.0005,x2=x+0.0005。x1和x2间的距离(0.001)满足精度要求(精确到小数点后2位)。若出现两种情况之一,则确定x为f(x)=0的根。枚举根的值域中的每一个整数x(-100≤x≤100)。由于根与根之差的绝对值≥1,因此设定搜索区间[x1,x2],其中x1=x,x2=x+1。#include<原创 2020-08-06 17:01:17 · 360 阅读 · 0 评论 -
[蓝桥杯]2020年第十一届省赛真题C/C++ B组(七月)
文章目录试题A: 跑步训练试题B: 纪念日试题C: 合并检测试题D: REPEAT 程序试题E: 矩阵试题F: 整除序列试题G: 解码试题H: 走方格试题I:整数拼接试题 J: 网络分析试题A: 跑步训练【问题描述】小明要做一个跑步训练。初始时,小明充满体力,体力值计为10000。如果小明跑步,每分钟损耗600 的体力。如果小明休息,每分钟增加300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达0,他就停止锻原创 2021-03-30 21:32:53 · 1418 阅读 · 0 评论 -
2018年省赛真题C/C++ B组[蓝桥杯]
1.第几天2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?2.明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是:第1字节,第2字节第3字节,第4字节....第31字节, 第32字节这道题目是给你一段多原创 2021-02-23 17:12:08 · 640 阅读 · 0 评论 -
2017年蓝桥杯C++B组省赛题解
1.购物单小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。你的任务是计算出,小明最少需要取多少现金。以下是让人头疼的购物单,为了保护隐私,物品名称被原创 2021-02-09 14:30:58 · 568 阅读 · 0 评论 -
2016年蓝桥杯C++B组省赛题解
1.煤球数目有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),…如果一共有100层,共有多少个煤球?分析:#include<iostream>#include<algorithm>#include<cstring>using namespace std;int f(int n){ if(n == 1) return 1; else return f(n-1原创 2021-02-02 20:07:12 · 599 阅读 · 0 评论 -
2015年蓝桥杯C++B组题解
文章目录1.奖券数目2. 星系炸弹3.三羊献瑞4.格子中输出5.九数组分数6.加法变乘法7.牌型种数8.移动距离9.垒骰子10.生命之树1.奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。#include<iostream>#include<al原创 2021-01-26 21:53:26 · 733 阅读 · 0 评论 -
2014年蓝桥杯C++B组题解
文章目录一. 啤酒和饮料二.切面条递归:三.李白打酒四.史丰收速算五.打印图形六.奇怪的分式七.六角填数八.蚂蚁感冒九.地宫取宝深搜记忆性递归十.小朋友排队一. 啤酒和饮料暴力枚举#include<iostream>#include<algorithm>using namespace std;int main(){ int a, b; for(a = 1; a <= 43;a++) { for(b =1; b <= 35; b++) {原创 2021-01-18 21:43:40 · 328 阅读 · 0 评论 -
2013年蓝桥杯C++B组题解(c++)
1.题目标题: 高斯日记大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。高斯获得博士学位的那天日记上标着:8113 请你算出高斯原创 2020-11-29 18:04:00 · 970 阅读 · 0 评论