官方题解|欢乐赛#37
T1
本题的结果会超过 intintint,所以要强制类型转化一下,1ll * a * b,就是把结果转化为 long longlong \ longlong long的类型,否则在乘的时候会超过 intintint 范围。
T2
本题考查数位分离,只要利用whilewhilewhile循环求出数位之和,然后再判断一下奇偶即可。
T3
上次考了 gcdgcdgcd,这次就考下 lcmlcmlcm, lcm(a,b)=a∗b/gcd(a,b)lcm(a, b) = a * b / gcd(a, b)lcm(a,b)=a∗b/gcd(a,b), 如何求 gcdgcdgcd,你枚举也行,辗转相除也行,不卡你时间复杂度。
T4
本题考查字符串的基本操作,反转一个字符串,你可以循环写,也可以直接调用 STL 里面的 reverse,最后输出 s + t即可,t是s反转的字符串。
T5
本题首先的思路应该是要求出这个序列中的「中间值」,按照题目要求先排个序,再取下标为 (n+1)/2(n + 1) / 2(n+1)/2对应的序列的值即可(下标从1开始哦)。然后你要枚举一下,这个里面有多少数是和你求的「中间值」一样的,因为你对于某一个「中间值」进行+1+ 1+1,它就会变大,跑到序列后面去,整个序列的中间值其实没有改变,所以和原序列「中间值」相等的数都要进行+1+ 1+1操作才能改变这个序列的「中间值」。
T6
本题考查模拟能力,枚举上下左右的时候注意数组不要越界哈,可以采用方向数组+check函数的写法,像极了写搜索, 0变成 1,1 变成 0 可以直接异或 1 来运算。