这道题是暑假多校联合CF的一道题:
做这套题的时候感觉 题目的描述特别费劲,读了半天的题才能把题目的意思弄明白;
这道题我现在终于想明白了,我来说一下题意和解题思路:
( 1 )题意: 一个人要把n快石头举起来,这n快石头编号为1到n,并且每块石头都有自己的重量,一秒举一个石头。然后呢,在某个时刻,这个人会分心,就会使得这个时刻不能举起石头而且已经举起的石头会落下几个,落下的个数满足次规律:
落下的石头重量之和大于一个常数值k,或者已经没有石头可以落下了。
那么现在题目给你:k,n,以及所有会分心的时刻(以秒为单位)
题目要你求出,把这n个石头举起来总共所需的时间。
( 2 )思路:
首先想到的肯定是模拟,那么具体怎么模拟呢 ??这样考虑:当第i块石头恰好被举起,此时刻这个人分心,那么已经举起的石头就是1到i,我们用s[i]表示此时刻分心掉下去的石头的个数。这让可以预先处理 s[1].....s[n]的值,然后再模拟即可。。
还有一个要注意的地方就是,被打扰的时刻 (这个数值可能会大于n,我一直以为是小于等于n的所以犯错误了)