ci<0 先算出多少天之后max(1,bi+x×ci)=1也就是bi+x×ci≤1,得到临界点为x=⌊1−bic⌋。 x>r 那么这时无时间段max(1,bi+x×ci)=1,那么可以得到: ∑i=lr(bi+x×ci)=bi×(r−l+1)+(r−l+1)×(r+l)2×ci x<l 此时从种树的第一天开始都只增加1,那么这时很好表示: r−l+...
P9755 [CSP-S 2023] 种树 题解 Description你是一个森林养护员,有一天,你接到了一个任务:在一片森林内的地块上种树,并养护至树木长到指定的高度。森林的地图有 n 片地块,其中 1 号地块连接森林的入口。共有 n−1 条道路连接这些地块,使得每片地块都能通过道路互相到达。最开始,每片地块上都没有树木。
可以通过求根公式或者再套一层二分求出每个点最晚被种树的时间。然后贪心的按照求出的每个点最晚植树的时间t排序,从小到大的植树即可,由于每个点最多只会被染色一次,可以直接暴力染色,遇到访问过的终止即可,均摊下来是O(1)的。 这样的话复杂度是O(qlogTlogn)的,T为最少天数,这里是109。但是其实是可...
CSP-S 2023 种树-题解闲话Mark.Down看错题面了,我一直以为树是倒着长的。题目描述给定一棵树,每天可以选择一个与已种树的地块相连的地块种树,每棵树每天会长max(1,ci×x+bi)米(x代表从任务开始第一天的天数),问最少多少天可以使∀i∈n,Heighti≥ai。