可爱线段树求调

P1471 方差

话说这样写不会T嘛 ``` if(tree[i].l==tree[i].r) ``` 每次都到底层
by Miss_SGT @ 2023-11-04 15:04:25


```cpp double query_p(int i,int l,int r){ if(tree[i].l>r || tree[i].r<l) return 0; if(tree[i].l<=l && tree[i].r>=r) return tree[i].val; push_down(i); query_p(i<<1,l,r); query_p(i<<1|1,l,r); } ``` 这个没有返回值
by Miss_SGT @ 2023-11-04 15:05:12


@[zhouchenqiao1](/user/705012) 2个query都没有
by Miss_SGT @ 2023-11-04 15:05:43


@[only__one](/user/776337) $A1$ `printf("%.4f")` 本身就是四舍五入保留 $4$ 位小数的意义
by Smiog @ 2023-11-07 20:37:00


@[Smiog](/user/399493) @[zhouchenqiao1](/user/705012) 感谢
by only__one @ 2023-11-08 13:10:53


@[Smiog](/user/399493) 实测好像有问题,别的情况都能舍入,只有下面这组数据好像有问题(对于给出的测试代码) (应该不会是我连四舍五入都搞不明白了吧) ```cpp #include<bits/stdc++.h> using namespace std; double a; int main(){ cin>>a; printf("%.4lf\n",a); return 0; } ``` 输入: ``` 0.55555 ``` 实际输出 ``` 0.5555 ``` 期望输出 ``` 0.5556 ``` 换成 `float` 也一样
by Elysian_Realme @ 2023-12-19 18:36:15


@[lmq742643](/user/1034667) 我试了也是这样,且只有 $0.55555$, $0.65555$ 这种才会误舍,其它不会,有点奇怪 :(
by Smiog @ 2023-12-19 18:49:23


UB?考虑发个学术贴问问?
by Smiog @ 2023-12-19 18:50:00


|