【发布时间】:2018-01-19 14:15:41
【问题描述】:
for(i=0;i<k;i++)
{
l=sc.nextLong();
r=sc.nextLong();
v=sc.nextLong();
for(j=l-1;j<r;j++)
{
m=(int)j;
ar[m]=ar[m]+(long)v;
}
}
我正在解决一个竞争性编程问题,我需要将此嵌套的 for 循环优化为单个 for 循环。代码的执行时间应该在 2 秒以下,这个需要 2 秒。这里 k,l,r,v 可以是 0 到 10^9 范围内的 int 值。
【问题讨论】:
-
这里有两个循环并不是导致超时的原因。您更有可能阻止输入。
-
不改变你的代码做什么?不是
-
计时问题不是循环的嵌套而是在
sc.nextLong -
请展示你的努力?
-
... 执行时间低于 2s?
k和r的输入和值是什么?不清楚你在问什么,(虚构的)VTC。