ETOJ Round 1题解与分析
补题链接:http://oj.eriktse.com/contest.php?cid=1001
比赛信息
ETOJ的第一场周赛,整体难度偏低,适合基础薄弱的同学。
奖励:第一名一个月大会员。
出题人:eriktse
验题人:Jakon
QQ交流群:600240150
A 带余除法
签到语法题。
B 这也能随机?
把每一个数字分解后计算数位出现次数即可,注意特判。
C 最大子段和
模板题,dp。
dp[i]
表示到i
为止,且以i
结尾的最大子段和,可以从dp[i - 1]
转移过来,当转移过来比0
还小,就单独成为一个子段。
因为这个转移过于简单,所以可以直接用一个变量保存。
下面用两种写法:
写法一:
写法二:
D 联通块问题(1)
并查集模板,计算每个点对祖先的贡献即可。
E 小e的书架
有两种思路来做这题。
思路一:根据贪心选择性质,显然应该优先横着放,最后一部分选择竖着放或横着放。特判“只能横着放”的情况。对于每种情况,可以直接计算出所需的最小书架长度。
当时,只能横着放,假设有$x$个长度为$h$的空间,则有:
故总长度需要满足:
当时,可以选择全部横着放,也可以选择将最后一部分竖着放,类似的分析即可,具体看代码。
思路二:
二分,确定一个长度后,判断是否能够放得下本书。虽然复杂度不如前一种方法,但是思想值得学习。