#include <iostream>
#include <stdio.h>
using namespace std;
int n , m;
int a[200000 + 2];
int i;
int l , r;
struct Node
{
int l , r;
int value;
Node * left , * right;
};
int merge( int a , int b )
{
return a + b;
}
void modify( int x , Node * cur )
{
if( cur -> l == cur -> r )
{
cur -> value = 0;
return;
}
int mid = ( cur -> l + cur -> r ) / 2;
if( x > mid )
modify( x , cur -> right );
else
modify( x , cur -> left );
cur -> value = merge( cur -> left -> value , cur -> right -> value );
return;
}
int find( int l , int r , Node * cur )
{
if( cur -> l == l &a
【codevs 1369】题解
最新推荐文章于 2018-05-04 12:27:55 发布
这篇博客主要介绍了如何使用树状数组(也称为二分查找树)来高效地处理区间修改和查询的问题。博主通过代码展示了如何构建、修改和查找树状数组,并在main函数中给出了具体的应用实例,涉及动态规划和区间操作。
摘要由CSDN通过智能技术生成