解题思路:
利用差分序列减少计算量,具体见代码。
参考代码:
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 人评分
点我有惊喜!你懂得!浏览:1234 |
C语言程序设计教程(第三版)课后习题6.5 (Java代码)浏览:1107 |
校门外的树 (C语言代码)浏览:714 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:509 |
震宇大神的杀毒软件 (C++代码)浏览:1110 |
C语言训练-素数问题 (C语言代码)浏览:1654 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:885 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:517 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:779 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |