解题思路:
利用差分序列减少计算量,具体见代码。
参考代码:
n, m = map(int, input().split()) # 利用差分序列 # diff[i]表示第i个小朋友比第i-1个小朋友多的苹果数量 # diff[0]不参与运算 diff = [0 for i in range(n+1)] for i in range(m): l, r, c = map(int, input().split()) diff[l] = diff[l] + c if r < n: diff[r+1] = diff[r+1] - c # 计算每个小朋友的苹果数量 for i in range(1, n+1): diff[i] = diff[i] + diff[i-1] print(diff[i], end=' ')
注:在我多次提交过程中,有时会出现个别超时情况,再重新提交就好。
0.0分
2 人评分