santisify Site

Back

Goodbye2023Blur image

A 2023#

题目描述#

给定 n个数,让我们判断是否能与 m个数相乘后可以得到 2023,并且将这些数输出出来

解题思路#

我们只需要判断这些数能否被2023整除。

代码#


B Two Divisors#

题目描述#

选择一个 (1 <= x <= 1e9) 的数。同时满足 1≤a<b<x 的条件。 对于给定的数 a、b,你需要求出 x 的值。 如果有整数 k,使得 x=y⋅k, 则数 y 是数 x 的除数。

解题思路#

首先你得要知道,你需要这个值有a和b,那么是和lcm(a,b)是有关系的,默认a<b,然后其次你发现,lcm(a,b)如果和b一样的话,那么你的这个值,实际上他会选不到b,那么我们需要把这个值增加一些,并且不影响答案。那么这个增加的值实际上就是lcm(a,b)/a,首先这题有解,那么lcm(a,b)一定有a和b的因子,由于他们是最大的,所以我们需要乘一个小数,去使得能选到b,但是a和b仍然是最大两个,所以当你的lcm(a,b)不是b的时候,那么lcm(a,b)就是答案,否则,答案应该乘上一个小值,那么乘上什么值是正确的,首先我们要理解,肯定不能让a变成除了b以外的数字,那么就是乘上一个lcm(a,b)/a,乘上这个值之后,他们的因子没有出现新大数。

代码#


C Training Before the Olympiad#

题目描述#

玛莎和奥丽雅马上就要参加一个重要的团队奥林匹克竞赛了。为此,玛莎建议和奥丽雅玩一个热身游戏: 有一个大小为 n 的数组 a。马莎先走,然后大家轮流走。每一步都可以用下面的操作顺序来描述: 如果数组的大小为 1,游戏结束。 当前下棋的棋手选择两个不同的索引 i、j(1≤i,j≤|a|),并执行以下操作—从数组中移除 ai 和 aj,并在数组中添加一个等于⌊ai+aj2⌋⋅2 的数字。换句话说,首先将 ai 和 aj 的和除以 2(向下舍入),然后将结果乘以 2。 玛莎的目标是最大化最终数字,而奥丽雅的目标是最小化最终数字。 玛莎和奥丽雅决定在初始数组 a 的每个非空前缀上进行博弈,并请求您的帮助。 对于每个 k(=1,2,…,n),请回答下面的问题。让数组 a 的前 k 个元素出现在游戏中,索引分别为 1,2,…,k。在双方都下得最好的情况下,最后会剩下多少个元素?

解题思路#

我们只需要注意到奇数加偶数会产生一个-1,那么我们就是要算怎么样计算这个值,我们发现,无论哪两个数字都会产生一个偶数,所以偶数是最后消去的,我们如果想要答案最大,那么一定是优先消除掉奇数,如果想要答案最小,一定是奇数和偶数组合,那么我们记录奇数和偶数的数量,在面对到奇数的时候,这个减去的多少个-1,我们可以算出他的过程,注意对于只有一个数字的情况要特判。

代码#

Goodbye2023
https://santisify.top/blog/old/goodbye2023
Author santisify
Published at December 31, 2023
Comment seems to stuck. Try to refresh?✨