欣坚强 2022-04-02 10:53 采纳率: 57.4%
浏览 4
已结题

为什么这样写树状数组是错的呢?调试了好久也没调试出来

题目

img

代码


#include<iostream>
#include<cstdio>

using namespace std;

const int N=32010;

int level[N];
int tr[N];
int n;

int lowbit(int x)
{
    return x&-x;
}

void add(int x)
{
    for(int i=x;i<N;i+=lowbit(i))
        tr[i]++;
}

int sum(int x)
{
    int res=0;
    
    for(int i=x;i;i-=lowbit(i))
        res+=tr[i];
        
    return res;
}

int main()
{
    cin>>n;
    
    while(n--)
    {
        int x,y;
        cin>>x>>y;
        
        x++;
        cout<<x<<endl;
        
        add(x);
        
        level[sum(x)]++;
    }
    
    printf(">>>>>>>>>>>\n");
    
    for(int i=1;i<n;i++)
        cout<<tr[i]<<endl;
        
    printf("...........\n");
    
    for(int i=1;i<=n;i++)
        cout<<level[i]<<endl;
        
    return 0;
}
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月10日
    • 创建了问题 4月2日

    悬赏问题

    • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
    • ¥15 电视版的优酷可以设置电影连续播放吗?
    • ¥50 复现论文;matlab代码编写
    • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
    • ¥15 数字图像的降噪滤波增强
    • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
    • ¥15 MSR2680-XS路由器频繁卡顿问题
    • ¥15 VB6可以成功读取的文件,用C#读不了
    • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
    • ¥15 C++ 句柄后台鼠标拖动如何实现