Week3

发布时间 2023-09-15 16:52:43作者: LZH_03

A.Cornhole

题意:两名玩家分别扔沙包,扔进洞里得3分,扔进板子上得1分,给出二人分别扔到这上面的数量,总分高的那个人获胜,并返回二人的分数差值.

\(\operatorname{Solution}\)
签到题,根据题意模拟即可.分别计算二人的分数就可以了.

B.Sum of Remainders

题意:给出一个长为 \(n\) 的序列,序列中第 \(i\) 个数为 \(\sum^{K}_{j=1}i\%k_j\) ,问序列 \(K\) 是多少.

\(\operatorname{Solution}\)
显然序列中第一个数的值代表了 序列 \(K\) 的长度,因为 \(1\) 模任何数均为 \(1\) .我们考虑每一次取模影响,假如没进行取模操作,则该数原本应该是 \(i*n\) ,而实际的值为 \(m\) ,说明受到了序列 \(K\) 的影响,假设之前任意的第 \(i\) 个数都等于 \(i*n\) ,序列 \(K\) 的数都应该大于等于 \(i\) ,那么我们现在还没有得到序列 \(K\) 中的数,当前的实际的第 \(i\) 个数与 \(i*n\) 的差值若不为 \(0\) ,则序列 \(K\) 中一定含有 \(i\) ,含有的个数就是差值除以 \(i\) 的值.后面我们再考虑时,要把我们已经得到的序列 \(K\) 考虑进去,即计算已有序列 \(K\) 对其的影响.
按上面的方法,一步一步就可以得到序列 \(K\) 中的所有值.

时间复杂度 \(O(n^2)\)