2019杭电多校第七场

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)

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

原文地址:https://www.cnblogs.com/tusikalanse/p/11360807.html