学而思编程每周练习赛-第06周-习题视频讲解与试题分析

梁老师
梁老师 北京小升初老师~

0 人点赞了该文章 · 59 浏览




图片


01

第六   



1.

T1 斐波那契数列:本题难度简单,考察斐波那契数列计算和取模问题,需要边计算边取模


T2 约数个数(二):本题难度简单,考察分解质因数,注意数据类型


T3 三角形:本题难度中等,考察多重循环枚举和预处理思想,输入过程中统计每个数是否出现过,枚举三角形的两条直角边,然后计算出斜边长度,并查询斜边是否存在,如果存在更新三角形面积,注意计算出的斜边可能比较大需要先判断是否越界在判断是否存在



2.

T1 宝藏考验本题难度简单,假设序列有n个元素a[1]≤...≤a[i]≤...≤a[j]≤...≤a[n],则 a[n] - a[1]一定是最大的差值,所以我们只需要保证a[n]-a[1]最小即可,假设最小为x,则a[n-1]-a[2]一定能经过操作之后变为x,其他同理


T2 二维码:本题难度简单,考察枚举二维数组旋转,题目保证#有且只有3个且一定在矩阵的四个角上,所以本题本质上是矩阵的旋转。 

如果左上角没有#,则需要顺时针旋转180°; 

如果右上角没有#,则需要顺时针旋转90°; 

如果左下角没有#,则需要顺时针旋转270°。 

只需要写一个顺时针旋转90°的函数即可,其他旋转角度可以通过改变调用该函数的次数来实现


T3 独特的数(二)本题难度中等,考察枚举与剪枝优化技巧。 从1开始依次枚举每一个整数,判断其是否为独特的数,并且进行计数cnt,直到cnt=n说明找到第n个独特的数,可以拿到50分。 

优化1:通过计算找到一个比较接近的位置在开始循环去找第n个独特的数; 枚举以任意数字(1≤j≤9)开头的m位数的独特数有多少个,从1位数开始累加到tot,直到结果大于等于n时,说明当前以j开头的m位数一定包含第n个独特数,但是并不知道具体是哪一个数,所以可以求出上届:up = (j+1)*10^{m-1} - 1,然后从up倒序枚举,碰到独特的数就tot--,直到恰好遇到第n个独特的数时,输出并结束枚举。 
优化2:当遇到一个不是独特的数的时候,可以直接跳过已知不可能数。 例如,当我们枚举到整数 22**** 时,发现第 2 位已经和第1位重复了,那么后面4位数就不需要再去枚举了,因为后面4位数不论怎样排列,都不可能是独特的数。所以可以直接跳跃到23****


3.

T1 倍数序列3度中等,本题思路和上升子序列类似,用 dp[i] 表示以 a[i] 结尾的倍数序列的个数。如果a[j]是a[i]的倍数,倍数序列个数就是 dp[j],枚举所有 j 求和即可得到 dp[i]。(想知道倍数序列2在哪,可以去以前的周赛找)


T2 火箭载荷度中等,本题可以化为01背包模板。将升空条件写出,做变形之后,通过选取适当的量作为物品的大小和价值,就可以化为01背包模板问题




02

第六   



1.

:162


:146.60(300)


123
斐波那契数列约数个数(二)三角形
68.18
49.66
30.58



3002
100~14929
250~2991450~9918
200~24944
1~4930
150~19925


线

10%线:245

20%线:235

30%线:225



2.

:119


:136.93(300)


123
宝藏考验二维码独特的数(二)
48.91
59.58
31.06



3005
100~14931
250~29910
50~9928
200~24921
1~4911
150~19913


线

10%线:250

20%线:225

30%线:200



3.

:27


:100.56(200)


12
倍数序列3火箭载荷
66.67
33.89



2001
50~996
150~19941~495
100~14911


线

10%线:190

20%线:140

30%线:115



03

第六   



1.


 2.

 3.


图片


添加 家长论坛微信 



发布于 2024-04-16 10:20

免责声明:

本文由 梁老师 原创发布于 家长帮 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

广告
All Rights Reserved Powered BY WeCenter V4.1.0 © 2025 京ICP备20005761号-2