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)
同一个队友做的,说是忘了清零调了半天,不是很懂