一些问题
  • 板块P1531 I Hate It
  • 楼主__erinww
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/6/20 21:35
  • 上次更新2023/11/3 13:28:43
查看原帖
一些问题
850498
__erinww楼主2023/6/20 21:35
signed main() {
    scanf("%d%d", &n, &T);
    for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
    BUILD(1, 1, n);
    //T <<= 1;
    while (T --) {
        char op;
        int x, y;
        scanf("%c%d%d", &op, &x, &y);
        if (op == 'U' && a[x] < y) UPDATE(1, x, y);
        else if (op == 'Q') printf("%d\n", SEARCH(1, x, y));
    }

    return 0;
}
in:
5 6
1 2 3 4 5
Q 1 5
U 3 6
Q 3 4
Q 4 5
U 2 9
Q 1 5
out:
5
6

while 前必须加一个 T <<= 1,否则 while 循环只会执行一半。

为什么呢????

2023/6/20 21:35
加载中...