第十一届蓝桥杯省赛B组第二场(比赛记录)

今天打完了蓝桥杯,估摸了一下大概80分吧,不知道能不能省一,先水一发比赛记录。

2020.10.26 更新: 今天出结果了,省一,嘻嘻嘻,不过因为疫情原因,不能去北京一日游了,很烦

填空题

A. 门牌制作

小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字 符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个 字符 0,2 个字符 1,1 个字符 7。 请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?

傻逼题,算有多少个2,大概1分钟不到写完

B. 既约分数

如果一个分数的分子和分母的最大公约数是 1,这个分数称为既约分数。 例如,34 , 52 , 18 , 71 都是既约分数。 请问,有多少个既约分数,分子和分母都是 1 到 2020 之间的整数(包括 1 和 2020)?

傻逼题,__gcd()搞完(我tm考试时居然脑抽手写了个gcd),大概1分钟不到写完

(看了一眼时间,大概过去了两分钟)

C. 蛇形填数

如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。

1 2 6 7 15 …

3 5 8 14 …

4 9 13 …

10 12 …

11 … …

(1)

容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列 的数是多少?

傻逼题,草稿纸上写写,就是+4、+8、+12,写个程序算一下就行

D. 跑步锻炼

小蓝每天都锻炼身体。 正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了 激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。 小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?

艹了,日期处理啥的我最不会了,打开cmd输入python发现可以用,漂亮!先手算一共多少月,python算了一波一共多少天,然后excel算了一波有多少周一,然后右下角日历数了一下有多少周一和月初重合的,容斥一下解决(就这么简单一题我还整这么多花里胡哨的2333)

E. 七段码

小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二 极管,分别标记为 a, b, c, d, e, f, g。 小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。 例如:b 发光,其他二极管不发光可以用来表达一种字符。 例如:c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上 一行的方案可以用来表示不同的字符,尽管看上去比较相似。 例如:a, b, c, d, e 发光,f, g 不发光可以用来表达一种字符。 例如:b, f 发光,其他二极管不发光则不能用来表达一种字符,因为发光 的二极管没有连成一片。 请问,小蓝可以用七段码数码管表达多少种不同的字符?

题意:大概就是一个 “日” 字形的灯管,可以点亮连续的一根或几根灯管,问可以形成多少种不同的图形?

看到题目第一反应:这题肯定要建图啊,然后dfs啥的,然而dfs不熟练,怕写错,果断手算,用了一页草稿纸写了自认为的所有情况,最后还检查了两遍,艹,还是漏了8个。。。这题没了

编程题

F. 成绩统计

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是 一个 0 到 100 的整数。 如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。 请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。

傻逼题,四舍五入我+0.5取整处理的

G. 回文日期

2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202, 恰好是一个回文数。我们称这样的日期是回文日期。 有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为 不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。 也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即 2121 年 12 月 12 日。算不上 “千 年一遇”,顶多算 “千年两遇”。 给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。

看到这种模拟题有点想吐,先看看下一题,好了,还是这题简单23333,总体思路就是枚举,需要判一下日期是否合法(闰年啥的)、日期是否回文、日期是否是ABABBABA回文,总体还是很简单的

H. 子串分值和

对于一个字符串S ,我们定义S 的分值f (S) 为S 中出现的不同的字符个数。

例如f (”aba”) = 2, f (”abc”) = 3, f (”aaa”) = 1。

现在给定一个字符串(长度为n),请你计算对于所有S 的非空子串$S[i…j] (0 \leq i\leq j < n)$, $f (S [i…j])$ 的和是多少

无脑先写个暴力骗50%再说,最后想倒数第二题用时过多,时间不够了555

I. 直线相交

计算n条直线将平面分成了几个部分

无脑写了n<=3的分类讨论,n<=1000的,在草稿纸上手玩了几个样例,找了找规律,发现确实有规律,与每条直线和先前直线的交点数目有关,然而有点复杂,想了很久没想明白,再见吧,计算几何,一窍不通

J. 冒泡排序

小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。在冒泡排序中,每次只能交换相邻的两个元素。小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符,则在所有可能的排序方案中,冒泡排序的总交换次数是最少的。

例如,对于字符串lan 排序,只需要1 次交换。对于字符串qiao 排序,总共需要4 次交换。小蓝的幸运数字是V,他想找到一个只包含小写英文字母的字符串,对这个串中的字符进行冒泡排序,正好需要V 次交换。请帮助小蓝找一个这样的字符串。如果可能找到多个,请告诉小蓝最短的那个。如果最短的仍然有多个,请告诉小蓝字典序最小的那个。请注意字符串中可以包含相同的字符。

草稿纸上手模了几个案例,发现有点迷,但却是是有规律,然并卵,赛后听大佬讨论,说是从右往左,先填两个的,再填一个的,想想好像确实如此,但考场上就一步之遥,哎,还是太蒻了。。。

总结

思维混乱,只会模拟,不能满分,只能偏分