警示后人。
查看原帖
警示后人。
770611
xxxxxzy楼主2024/12/8 15:23

真的给我写无语了。

请把

rep (i, 1, m) {
		int id = t[i].id;
		if (l > t[i].l) v[r].pb(node{t[i].l, l - 1, id, 1}), ans[id] -= pr1[l - 1] - pr1[t[i].l - 1];
		if (r < t[i].r) v[l - 1].pb(node{r + 1, t[i].r, -id, 0}), ans[id] += pr2[t[i].r] - pr2[r];
		if (l < t[i].l) v[r].pb(node{l, t[i].l - 1, -id, 1}), ans[id] += pr1[t[i].l - 1] - pr1[l - 1];
		if (r > t[i].r) v[l - 1].pb(node{t[i].r + 1, r, id, 0}), ans[id] -= pr2[r] - pr2[t[i].r];
		l = t[i].l, r = t[i].r;
	}

改为:

rep (i, 1, m) {
		int id = t[i].id;
		if (l > t[i].l) v[r].pb(node{t[i].l, l - 1, id, 1}), ans[id] -= pr1[l - 1] - pr1[t[i].l - 1], l = t[i].l;
		if (r < t[i].r) v[l - 1].pb(node{r + 1, t[i].r, -id, 0}), ans[id] += pr2[t[i].r] - pr2[r], r = t[i].r;
		if (l < t[i].l) v[r].pb(node{l, t[i].l - 1, -id, 1}), ans[id] += pr1[t[i].l - 1] - pr1[l - 1], l = t[i].l;
		if (r > t[i].r) v[l - 1].pb(node{t[i].r + 1, r, id, 0}), ans[id] -= pr2[r] - pr2[t[i].r], r = t[i].r;
	}
2024/12/8 15:23
加载中...