解题思路:
利用差分序列减少计算量,具体见代码。
参考代码:
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 人评分
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:564 |
C二级辅导-统计字符 (C语言代码)浏览:502 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:748 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1195 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:625 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:262 |
1011题解浏览:760 |
1118(求助_已解决)浏览:329 |
矩阵转置 (C语言代码)浏览:782 |
整除的尾数 (C语言代码)浏览:809 |