请求加强数据
  • 板块P1531 I Hate It
  • 楼主yerosius
  • 当前回复3
  • 已保存回复3
  • 发布时间2025/7/19 10:23
  • 上次更新2025/7/19 10:40:46
查看原帖
请求加强数据
1183011
yerosius楼主2025/7/19 10:23

本题存在树状数组解法,其中单点更新时用子节点更新自己才为正解:

void change(int x,int d){
    a[x]=d;
    for(int i=x;i<=n;i+=lowbit(i)){
        t[i]=a[i];
        for(int j=1;j<lowbit(i);j<<=1){
            t[i]=max(t[i],t[i-j]);
        }
    }
}

但本题若直接更新父结点这种错解也能通过,说明数据没卡住:

void change(int x,int d){
    a[x] = d;
    for (int i = x; i <= n; i += lowbit(i)) {
        t[i] = max(t[i], d);
    }
}

这种错误解法在HDU1754上无法通过,因此请求洛谷加强数据。

2025/7/19 10:23
加载中...