玄学错误
  • 板块P1471 方差
  • 楼主DreamBuilder
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/8/28 22:07
  • 上次更新2023/10/27 13:16:09
查看原帖
玄学错误
373897
DreamBuilder楼主2022/8/28 22:07

rt。以下为半成品代码,本蒟蒻有个疑问:为什么两个 cic_i 输出的不一样?

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n, c[100001], a[100001], m;
int lowbit(int x){
	return x & (-x);
}
void add(int x, int y){
	for(; x <= n; x += lowbit(x));
		c[x] += y, printf("%lld ", c[x]);;  
}
int sum(int x){
	int s = 0;
	for(; x > 0; x -= lowbit(x));
		s += c[x];
	return s;
} 
signed main(){
	scanf("%lld%lld", &n, &m);
	for(int i = 1; i <= n; ++i){
		scanf("%lld", &a[i]);
		add(i, a[i]);
	}
	puts("");
	for(int i = 1; i <= n; ++i)
		printf("%d ", c[i]);
	puts("");
	for(int i = 1; i <= m; ++i){
		int op, l, r, k;
		scanf("%lld", &op);
		if(op == 1){
			scanf("%lld%lld%lld", &l, &r, &k);
			add(l, k);
			add(r + 1, -k);
		}
		else if(op == 2){
			scanf("%lld%lld", &l, &r);
			printf("%.4lf\n", double(sum(r) - sum(l - 1) + 0.0) / (r - l + 1));
		}
		else{
			scanf("%lld%lld", &l, &r);
			
		}
	}
	return 0;
}
2022/8/28 22:07
加载中...