【发布时间】:2015-10-27 05:32:15
【问题描述】:
我正在解决一个问题,如下所示:
连续有 n 个桶。园丁给水桶浇水。每天,他都会在 i 和 j (含)位置之间给水桶浇水。他为不同的 i 和 j 这样做了 t 天。
输出桶中水的体积,假设初始体积为零,每次浇水将体积增加1。
输入:第一行包含 t 和 n,以空格分隔。 接下来的 t 行包含由空格分隔的 i 和 j。
输出:单行显示 n 个存储桶中的体积,以空格分隔。
示例:
输入:
2 2
1 1
1 2
输出:
2 1
约束:
0 4; 1 5
我试过这个问题。但我使用 O(n*t) 算法。我每次将桶从 i 增加到 j 在每一步。但这显示了时间限制错误。有没有有效的算法来解决这个问题。一个小提示就足够了。
P.S:我使用 C++ 和 Java 作为标签,因为程序可以用这两种语言编写。
【问题讨论】:
-
解析用户输入并打印输出可能会比您的计算花费更多的时间......
-
不,最多只有11行输入...请检查问题
-
啊,我明白了。 10⁵ 是问题所在。
-
等等,什么?现在 t≤10⁴。这与 t完全不同
-
@DaoWen 实际上我编辑了问题..运行时间是 n*t..抱歉,感谢您帮助我解决这个问题..