gpt4 book ai didi

c++ - 我收到此代码的段错误?

转载 作者:行者123 更新时间:2023-11-28 04:12:38 25 4
gpt4 key购买 nike

<分区>

我有一个 m*3 大小的二维 vector ,其中第一个 col:下限,第二个 col:上限,第三个 col:值。我有一个初始的一维数组,大小为 n(m

void build_tree(long long int *tree,long long int index,long long int s,long long int e)
{
if(s==e)
{
tree[index]=0;
return;
}
if(s>e)
return;
long long int mid=(s+e)/2;
build_tree(tree,2*index,s,mid);
build_tree(tree,2*index+1,s,mid);

tree[index]=max(tree[2*index],tree[2*index+1]);
return;
}
void update_range(long long int *tree,long long int index,long long int s,long long int e,long long int lower,long long int upper,int v)
{
if(s>upper || e<lower)
{
return;
}
if(s==e && s>=lower && e<=upper)
{
tree[index]=tree[index]+v;
return;
}
if(s>=e)
return;

long long int mid=(s+e)/2;
update_range(tree,2*index,s,mid,lower,upper,v);
update_range(tree,2*index+1,mid+1,e,lower,upper,v);

tree[index]=max(tree[2*index],tree[2*index+1]);
return;

}
long arrayManipulation(int n, vector<vector<int>> queries) {

/*int a[10000000];
// vector<int>a;
for(int i=0;i<n;i++)
a[i]=0;*/
long long int *tree=new long long int(4*n+1);
build_tree(tree,1,0,n-1);

for(int i=0;i<queries.size();i++)
{
update_range(tree,1,0,n-1,queries[i][0]-1,queries[i][1]-1,queries[i][2]);
}
return tree[1];
}

对于输入 n=10000000 和 m=100000我遇到段错误,我尝试使用 long long int 而不是 int ,但它仍然给我段错误。

预期的输出很长。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com