2019年第十届蓝桥杯省赛总结(JavaA组)
//update3.28:省一rank4,莫名进了国赛好神奇。。
记yzm10第一次体验A组(纯粹瞎水)。
早闻山东的JavaA组神仙打架,进国赛都成了奢望(往年只有五个名额),因此抱着做分母的心态来为学弟学妹试水
来到考场发现同组中光认识的大佬就不止五个,提前预感到要gg
今年题目变化比较大,没了代码填空,分值的分布也有所变化。
不过题目确实不难,但做得还是一般,粗心挥之不去呵。。
(蓝桥杯一如既往的暴力,并开始向阅读理解杯过渡)
瞎扯结束,以下个人题解。
题目待更,先写下有印象的
第一题:平方和
1~2019含有2、0、1、9的数的平方和,
简单枚举即可,因为提示可能为负,要用long,答案26亿左右
第二题:数列求值
每项等于前三项的和,求20190324项的后四位。
简单递推,对10000取模即可。答案4659?记不清了
第三题:迷宫
dfs超时,考虑bfs,两次搜索。按照字典序优先选择方向,并记录路径。
当第一次到达终点时,再反向回溯到原点存入方向。步数186。
(路径输反了,哭辽。。
第四题:最大降雨量
贪心构造。
将1~49填入7个数列,找出7个数列的中位数使这7个中位数的中位数尽可能大。
排序后答案取决于4行4列(正中间)的值。
先填入小值,将前3个数列填满,再将4-7数列的前三列填满,此时剩余最小值为34。
第五题:RSA解密
exgcd,大数筛,快速幂
考试没算出来,数论还是菜啊
第六题:完全二叉树的权值
不需要建树。1、2、4、8...线性可以求出每一层的和,注意非满二叉树且可能为负。
第七题:外卖店优先级
饱了么外卖。。做到这饿得不行了,一口脆脆鲨
按照时间排序后模拟,每次直接跳入下一个最近时刻,可以优化。
第八题:修改数组
可能为long,用HashMap标记。
正解并查集。。
//听说还有树状数组+二分的做法
第九题:糖果
30%:时间不够直接上dfs
注意不能用HashSet,当某糖果买入了多个,取出操作时会一并remove。
因此要用HashMap记录个数,每次只取出一个。
100%:数据规模比较小,明显的状压dp
开一维状态记录糖果种类数,值代表当前状态所用的最少糖包个数
第十题:组合数问题
数据规模10^18,第一反应lucas?
暴力2000以内组合数。。只预处理出了2000内的阶乘,求稳拿了20%
考试时怕2000*2000的BigInteger爆内存没敢直接预处理组合数情况
貌似是我想多了,40%的分给扔了
//事后:真的想多了,官网测试内存只有36.5M...wtf
感觉国赛渺茫啊,滚回去考研了。。。