前言
昨天终于比赛完了,昨天风刮得很大,很具有摧残作用,以至于北京、河北、天津等地的蓝桥杯都延期了。而我,一名普普通通的研二学生,也想写下这篇文章作为对这几个月的总结,老了以后自己看看曾经的青春年华,另外就是希望会对下一届比赛的学生有所帮助。
人在回忆自己的过去总是会发现时间是过得飞快的,从去年比完赛到今天,这是整整的一年了,这一年我经历了很多,有科研上的不顺利、认知上的提升、资产上的波动,现在每天也是处于比较焦虑与不开心的状态。但是,我也始终相信这就是生活,有苦有甜:有来自于方方面面的压力,也有某一道题AC的快乐,更有自己不断进步的短暂的成就感,这与钱买到的快乐是不同的。
试题回忆
试题A:偏蓝
题意
思路
三重循环即可
代码
import sys
import os
if __name__=="__main__":
ans=[]
for red in range(256):
for green in range(256):
for blue in range(256):
if blue>red and blue >green:
ans.append((red,green,blue))
print(len(ans))
#5559680
试题B:IPV6
题意
思路
不会写,直接放弃
试题C:变换数组
题意
思路
简单模拟即可
代码
n=int(input())
data=list(map(int,input().split()))
m=int(input())
for i in range(m):
for j in range(n):
bb=str(bin(data[j])).count('1')
data[j]=data[j]*bb
print(*data,sep=' ')
试题D:最大数字
题意
思路
我用的排序,
- 首先全是1的元素,比如3,7,直接先拿出来
- 剩余的按照1出现的次数降序排列,出现1次数一样,比如
8,4
,按照0出现的次数升序,4,8
,如果1出现的次数和0出现的次数都相同,比如5,6
按照自身数值进行排序6,5
,key=lambda 真好用
代码
n=int(input())
vip=[]
data=[]
for i in range(1,n+1):
bb=str(bin(i))[2:]
cnt1=bb.count('1')
cnt0=bb.count('0')
if cnt0 ==0:
vip.append(bb)
else:
data.append([i,cnt0,cnt1])
data.sort(key=lambda x:(x[2],-x[1],x),reverse=True)
#print(data)
ans=''.join(vip)
for i in data:
ans+=str(bin(i[0]))[2:]
ans=int(ans,base=2)
print(ans)
试题E:小说
题意
思路
说实话,逻辑跟不上,那么就只能根据样例找找规律,99%的概率都是错的
2个人物,6章
3个人物,6+6+1(中间插进去一个C知道真相)
4个人物,6+1+6+1+6=20
5个人物:6+1+6+1+6+1+6=27
试题F:01串
题意
思路
先统计n范围内的1的个数,相应长度,放在列表中,之后利用二分查询
代码
import sys
import os
from bisect import *
if __name__=='__main__':
n=int(1e4)+1
x=int(input())
data=[]
cnt=[]
ans=''
cnt1=0
for i in range(n+1):
bb=str(bin(i))[2:]
cnt1+=bb.count('1')
ans+=bb
length=len(ans)
data.append(length)
cnt.append(cnt1)
pos=bisect_right(data,x)
if pos<len(data):
m=data[pos-1]
x-=m#还有多少位
ans=cnt[pos-1]
if x>0:
start=pos#下一个开始的数字
res=str(bin(start))[2:]
ans+=res[:x].count('1')
print(ans)
试题G:登山
题意
思路
前面浪费太多时间了,实在是没时间写了,BFS?
tips
- 针对我自己的考点:只能用idle编辑,电脑上有vscode,但是只有C++ debugger,没有python debugger,然后没有外网,所以就没法下载扩展。但是可以在vscode中输入(毕竟比idle输入体验那么一丢丢),然后复制到idle运行调试
编程能力
与思维
都要提升起来,考场上考验的还是熟练度
- 如果你之后想要参加
蓝桥杯
,欢迎看看我的备赛指南,或不到一杯奶茶钱的备赛笔记,凝聚了自己刷题过程中的精华,相信你一定能站在我的肩膀上,冲击国赛,顺利保研or国家奖学金or一等奖学金or简历亮点
- 蓝桥杯笔记:蓝桥杯备赛笔记(超详细版)
知乎:蓝桥杯python组备赛指南
CSDN主页:蓝桥杯python组备赛指南