2019杭电多校第七场

咕咕了好久

这场真实自闭

1001. A + B = C

solve at 03:40(+12)

给你A, B, C你要找到一种方案,在A, B, C后各自添加\([0, 1e6]\)个零,使得\(A+B=C\) 高精度问题

首先在\(C\)后面添加足够多的零使得\(C\)的位数最多

然后假设\(A\)\(AB\)中较大的,那么显然\(A\)的位数要么和\(C\)一样,要么少一位,对这两种情况分别做一次差,看差值是不是能够通过\(B\)后面加上若干个零来得到

如果没找到,再假设\(B\)是较大的

最多做4次就能找到答案,复杂度\(O(length)\)

注意一定不能用高精度乘法,要善于使用字符串结束符号来实现添加若干个0的效果,否则肯定超时

我也不知道为什么错了那么多发,最后也不知道改了啥就过了。。。

1006. Final Exam

upsolved

.自闭源泉

题意是明天有一场考试有\(n\)道题目共\(m\)分,如果一道题目有\(i\)分那么你今天至少花\(i+1\)的时间取复习明天才能做对

你不知道这些题目的分数分布,你的目标是无论如何至少做出\(m\)道题,求最短复习时间

首先考虑最坏情况,那就是你复习时间最少的\(n-k+1\)道题,每道题的分值都恰好等于你的复习时间,并且你复习时间最多的\(k-1\)道题分值全部为\(0\)

那么答案显而易见,就是\(m + 1 + (k - 1) * (1 + m / (n - k + 1))\),

\(m+1\)的意思是你复习时间最少的\(n-k+1\)道题的总复习时间,这样至少做对一道题,后面的意思是复习时间最多的\(k-1\)道题的复习时间均为\(ceil((m + 1) / (n - k + 1))\)(这样才能保证它们是复习时间较多的\(k-1\)

1010. Just Repeat

solved at 04:12(+1)

队友做的,说是排序贪心就完事了,不是很懂

1011. Kejin Player

solved at 02:57(+3)

同一个队友做的,说是忘了清零调了半天,不是很懂