71 条题解
-
-1李豁然 LV 10 @ 2009-03-05 21:41:42
为什么第二个点运行时错误呢??
#include
#includeusing namespace std;
long long n;
long long opr;
long long manager[2000];
long long w[1500][1500] = {0};long long lowbit( long long x )
{
return x & ( x ^ ( x - 1 ) );
}
void increase( long long hang , long long lie , long long k )
{
w[hang][lie] += k;if( manager[lie] > n ) return ;
increase( hang , manager[lie] , k );
}
long long total( long long hang , long long lie )
{
long long temp = lie;
long long cur = 0;while( temp > 0 )
{
cur += w[hang][temp];
temp -= lowbit( temp );
}return cur;
}int main()
{
for( int i = 1500 ; i >= 1 ; i -- )
{
int low = lowbit( i );if( low != 1 )
for( int j = i - low + 1 ; j < i ; j ++ )
manager[j] = i;
}cin >> n;
while( cin >> opr )
{
if( opr == 3 ) break;if( opr == 1 )
{
int x , y , k;cin >> x >> y >> k;
increase( x + 1 , y + 1 , k );
}
if( opr == 2 )
{
int x1 , y1;
int x2 , y2;
long long sum = 0;cin >> x1 >> y1 >> x2 >> y2;
x1 ++ ; y1 ++ ; x2 ++ ; y2 ++ ;
for( int i = x1 ; i
-
-12009-03-05 21:16:59@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms就算是SuperBrother你也得给个数据范围啊
-
-12009-03-01 19:46:34@
二维树状数组,加一个公式:
sum[x1,y1,x2,y2]=sum[1,1,x2,y2]-sum[1,1,x1-1,y2]-sum[1,1,x2,y1-1]+sum[1,1,x1-1,y1-1]
主要存sum[1,1,i,j]就行了。
一开始居然写错了…… -
-12009-02-26 21:20:47@
二维线段树怎么mle了
-
-12009-02-24 20:19:33@
同楼上解。。
幸好数据不太变态
测试数据的m==1次数不算多。。如果超多那就是10000*..............就完了。。
-
-12009-02-24 18:02:48@
这题。。也太水了。。
主要是数据太弱,还有就是vj跑的太快了
如果数据强点还是很不错的
数据弱也不想写线段树了
while m3 do
begin
read(m);
m=1 则 保存到数组中
。
。
。
m=2 则
for i:=1 to total do
查找数组中在此范围内的点,累计他的值
writeln(累计的值);
end;
速度非常的快
前9组0ms
最后一组41ms -
-12009-02-24 09:25:26@
此题无需高级数据结构,有一种使用的朴素算法
对于每个查询,只需统计此前加入的鼹鼠数是否在查询范围内Orz xiongji 大牛
-
-12009-02-22 20:40:51@
二维树状数组即可 ^-^
-
-12009-02-21 22:34:38@
二维线段树,我写的太ws了112行,耗时2500ms,不知怎么回事
-
-12009-02-21 19:25:04@
巨弱的我分不清线段树和树状数组。
-
-12009-02-19 18:01:04@
我提交了N次,每次都是80~90分,1-2个超时,我就多试了几次...结果,本题通过率↓3%...