时间回到之前打校内模拟,那时候校排名11+,省排40+;感觉不尽人意,毕竟之前正常打比赛都能排很靠前,可能是我没认真打,也可能线上打水分有点大,总之那时候我觉得要不是自己能力欠缺,要不就环境太水了。
后面真正到快开始比赛的前一周我才开始准备蓝桥杯,看了很多博客,和去年真题,感觉听起来拿奖挺容易的,听起来省一有手就行。就也没顾及太多东西了。
打的那天我是很平和的心态,感觉能赢就冲刺一下,就冲刺一把,能参加国赛就去北京玩玩。结果比赛的机子和环境直接爆炸,我写完前面5个填空都没检查,想着后面回来测试代码,结果电脑死机,代码直接没了,中途等待换机耽误了半个小时,最后提交最后一个题目30%样例还发现比赛提前2分钟结束了,直接少了7.5分,而且压根不会给你补时间。。总之种种现场情况恶心到我了。而且很多人也出现类似我的情况。
打完后就没心情对答案了,就隔了好久,才无意间打开博客随便逛了逛,发现好像我挺走运的,完全没检查过的填空题一遍过全对了,然后除了最后没交上的7.5其他貌似都还行。
最后出成绩也在意料之中,省一,貌似也是省内b组排第6(如果7.5分加上可能还能冲一冲),但省一的确太多了,最神奇的理论就是电脑出问题的人省一都稳了。
最后的最后,,就是还要交300打国赛,而且又是在学校线上考试,,害,这比赛就没什么仪式感了,真花钱买证。无解~
10月17日,蓝桥杯B组省赛第二场;
答案是我自己的,,不一定正确~~
分享题目+答案+思路
代码之后更新
答案:624
本题总分:5 分
小蓝要为一条街的住户制作门牌号。这条街一共有2020 位住户,门牌号从1 到2020 编号。小蓝制作门牌的方法是先制作0 到9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017 需要依次粘贴字符1、0、1、7,即需要1 个字符0,2 个字符1,1 个字符7。请问要制作所有的1 到2020 号门牌,总共需要多少个字符2?
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
代码
待更新
思路:暴力循环查找2的个数
答案: 2481215
本题总分:5 分
如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数。例如,3/4 , 5/2 , 1/8 , 7/1都是既约分数。请问,有多少个既约分数,分子和分母都是1 到2020 之间的整数(包括1和2020)?
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
代码
待更新
思路:暴力双重for循环查找__gcd(i,j) == 1的个数(可能有坑?但感觉是直接1-2020循环没有特例)
答案:761
本题总分:10 分
如下图所示,小明用从1 开始的正整数“蛇形”填充无限大的矩阵。
容易看出矩阵第二行第二列中的数是5。请你计算矩阵中第20 行第20 列的数是多少?
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
代码
待更新
1.暴力Excel解题,随手拉一拉,答案瞬间出来
2.数组填数即可
cnt = 1;
num[1][1] = cnt++;
int x = 0,y = 2;
while(退出条件){
x++;
while(y>0){
num[x++][y--] = cnt++;
}
y++;
while(x>0){
num[x--][y++] = cnt++;
}
}
即可
答案:8879
代码
待更新
注意时间是包含关系,通过正常日期增加去判断即可;初始是周六,最后是周日,这里可以代码验证,好像也有excel大佬破解的;
答案:80
本题总分:10 分
小蓝要用七段码数码管来表示一种特殊的文字。
上图给出了七段码数码管的一个图示,数码管中一共有7 段可以发光的二极管,分别标记为a, b, c, d, e, f, g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符的表达时,要求所有发光的二极管是连成一片的。
例如:b 发光,其他二极管不发光可以用来表达一种字符。
例如:c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上一行的方案可以用来表示不同的字符,尽管看上去比较相似。
例如:a, b, c, d, e 发光,f, g 不发光可以用来表达一种字符。
例如:b, f 发光,其他二极管不发光则不能用来表达一种字符,因为发光的二极管没有连成一片。
请问,小蓝可以用七段码数码管表达多少种不同的字符?
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
a | b | c |
---|---|---|
f | g | c |
e | e | d |
代码:
待更新
把相邻的看成一个二维数组(如上,个别考虑cc和ee两个),dfs枚举01情况即可,注意0000000不行。
待更新
思路:暴力暴力,破解就是了
待更新
上面有个日期的了,这次也是按照day++。依次去判断,判断很好写的,就不说了,暴力就是了;
ababc
21
子串f值:
a 1
ab 2
aba 1
abab 0
ababc 1
b 1
ba 2
bab 1
babc 2
a 1
ab 2
abc 3
b 1
bc 2
c 1
对于20% 的评测用例,1 ≤ n ≤ 10;
对于40% 的评测用例,1 ≤ n ≤ 100;
对于50% 的评测用例,1 ≤ n ≤ 1000;
对于60% 的评测用例,1 ≤ n ≤ 10000;
对于所有评测用例,1 ≤ n ≤ 100000。
待更新
第八题忘记了0.0;
思路,这题案结果要倒着看就很简单
先定义一个填充数据的int numcnt[100000][27];
前面100000对应第几个数,后面1-26个对应填充的字母,numcnt[i][0] 0位计数,a对应1,b对应2;
cin >> str;
reverse(str.begin(),str.end());
for(i = 0; i < str.length(); i++){
for(j = 0; j <= i; j++){
if(numcnt[i][str[i]-'a'+1] == 0){ //str[i]-'a'+1就把abc转换123
numcnt[i][0]++;
}
numcnt[i][str[i]-'a'+1]++; //标记有了
ans += numcnt[i][str[i]-'a'+1]; //每次加入ans即可
}
}
cout << ans;
题目忘了,没找到
本题关键是推出
1.切分平面和 几条线~几个交点的关系
2.在去找输入的线段有几个交点
对于一:首先找到i条线最多切分几个平面,最多几个点;
dpArea[i] = i + dpArea[i-1]
dpPoint[i] = i - 1 + dpPoint[i-1]
然后发现规律如果交点没达到最多交点,有
【分割平面 = i条线对应最大分割平面 - (i条线最大交点 - 线段i)】
这时候发现很多都能对应,但如果都交与一个点就不合适了
但不着急,判断线段的时候是两层for循环依次输入和前面的判断是否平行的。
每次i 对应 j循环就判断如果同一个交点就算一个一个,此时所有情况满足
对于二:for(int i = 0; i < n; i++){
输入线段
for(int j = 0; j < i; j++){
//每条线段和前面已经输入的判断是否平行(A1 == A2)
如果平行
不敢啥
如果重合
当作初始线段减少1,并且后面的线段不和它进行判断
如果相交{
如果交点在j的循环内例遍过
交点不变
否则
交点++,标记该交点
}
}
}
4
1
bbaa
1
漏掉了没保存上
大概是:
对于30% 的评测用例,1 ≤ n ≤ 20;
对于50% 的评测用例,1 ≤ n ≤ 100;
对于100% 的评测用例,1 ≤ n ≤ 10000;
待更新
搜索暴力破解可以拿到30% —— 7.5分qwq;
垃圾破电脑换机器浪费我2-30分钟,结果提交时间12:58就截止,老师之前允诺的延时也只是真的安慰。。
这波学校破电脑背大锅。心态都蹦了,被电脑ex到考完都没啥心情吃饭了。
这次真无语了
学校机房真的难受,希望今年能忽略那一点点小错误拿个高点的名次吧。真的。。
现在大二真的有点忙,趁着还记得写点博客记录下吧。。害。。
待更新。