解题思路:
标记增加和减少的位置,操作一波
注意事项:
如果只是输出单独一个,或者求其中的几个值,,,
emmmmmmmm
好像也可以这么算,,复杂度O(n*3)
只有发完一次求几个值,然后再发,再求,循环往复,,这种操作才不适用。。。
参考代码:
#include <iostream> using namespace std; int main() { int N, M, Li, Ri, Ci; int map[100001] = {0}; int ans = 0; cin >> N >> M; while (M--) { cin >> Li >> Ri >> Ci; map[Li] += Ci; map[Ri + 1] -= Ci; } for (int i = 1; i <= N; i++) { ans += map[i]; cout << ans << ' '; } return 0; }
0.0分
0 人评分
小明A+B (C语言代码)浏览:1247 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1282 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:625 |
IP判断 (C语言描述,蓝桥杯)浏览:1094 |
简单的a+b (C语言代码)浏览:478 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1478 |
回文数(一) (C语言代码)浏览:1117 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:1317 |
C语言程序设计教程(第三版)课后习题6.9 (C++代码)浏览:499 |
图形输出 (Java代码)浏览:453 |
ET 2019-10-06 21:22:33 |
测试样例改了。。。之前还是对的。。。
18信二孙笑柯 2019-10-08 10:17:14 |
我不知道,抱歉 抱歉 哈哈