海亮杯总结
写在前面: 100+100+30+0+20+20=270,rnk42,超级菜
你说的对,但是《第三届“海亮杯”》是由海亮教育集团自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「浙江省诸暨海亮高级中学」的幻想世界,在这里,被神选中的人将被授予「正方形巧克力」,导引「数位和」之力。你将扮演一位名为「小海」的神秘角色在自由的旅行中邂逅「人脉很广」、「被质因子困扰」的同伴们,和他们一起击败tle,re,mle,wa,找回「每m天下一个蛋的鸡」——同时,逐步发掘「max和gcd」的真相
日常唐一下
进入正题:
令人原地退役的海亮普及组
T1小海每天的营养餐
打开题面我还以为会是洛谷月赛Div3
一个简单的模拟,只要在每次m个天到时,先判断是否在这之前还有鸡蛋,若有,再补充一个鸡蛋;反之,直接退出循环。
T2困扰靓亮的质因子
基础小数论搞定因为最小的质因数是2,所以我们要向2的倍数靠拢
输入的数有两种情况:奇数和偶数 ,所以我们要分情况
偶数:每次操作步骤都减去2,最终结果为直接n/2
奇数:1.若第一次操作步骤中找到他的最小质因子,用n减去这个质因子结果为一个偶数,这样就可以进行偶数操作步骤,最终结果为1+n/2;
2.若第一次操作时最小质因子为它本身,最终结果为1。
T3巧克力
难度骤增(至少对于我)
如果不是死磕T3和T4,我T5或T6至少能多得50pts
对于这个问题,我们可以使用贪心算法来解决。具体思路如下:
读取输入的大巧克力大小 H 和 W,以及朋友数量 N。
读取每个朋友的要求 A_i。
对所有朋友的要求进行排序,从最大的要求开始考虑。
对于每个朋友的要求 2^A_i*2^A_i,我们可以尝试将大块巧克力按照 2^A_i 的大小切割,直到无法再切割为止。如果巧克力的大小能被完整切割,则继续处理下一个朋友的要求;如果无法被完整切割,则返回 "No"。
如果所有朋友的要求都能被满足,则返回 "Yes"。
这种方法的时间复杂度较低,因为对于每个朋友的要求只需要一次遍历,而且对于每次切割操作也只需要 O(1) 的时间。因此,这种方法是有效且高效的解决方案。
T4海亮学生人脉很广
确实很广qwq
这个问题可以通过深度优先搜索(DFS)来解决,具体思路如下:
读取输入的 n 和 m,表示方格矩阵的大小。
读取 n 行数据,每行包含 m 个字符,“*” 表示主动同学,“.” 表示被动同学,并将其存储在一个二维数组中。
对于每一个主动同学(用 “*” 表示),从该位置进行深度优先搜索,统计与之相邻的被动同学数量,并标记已经访问过的位置。
将得到的朋友圈人数(含自己)对 10 取模后的结果更新到原始的二维数组中。
最后将更新后的结果输出即可。
T5数位和
数位dp?
读取输入的整数 N,表示数字的个数。
读取 N 个数字 A_1, A_2, ..., A_N。
对于每对数字 A_i 和 A_j,计算它们的和 A_i + A_j,并计算其数位和 f(A_i + A_j)。
将所有的 f(A_i + A_j) 累加起来得到最终的结果。
要解决这个问题,我们可以使用分治算法和数学模运算的方法来求解。
T6计算数列
首先,我们可以使用分治算法将原始数组不断划分为子数组,然后递归地计算每个子数组的最大值和最大公约数。
对于每个子数组 [l, r],我们可以使用递归的方法来计算 maxVal(l, r) 和 gcdVal(l, r)。
对于每个计算出来的 maxVal(l, r) * gcdVal(l, r),我们可以累加到总和中。
最后,对结果对 998244353 取模即可得到最终的结果。
写在后面
快要期中考试了,当然总结写的很水。考完试会及时补全(包括代码)
rp++!
score++!
luck++!