社区讨论

请求加强数据

P11217【MX-S4-T1】「yyOI R2」youyou 的垃圾桶参与者 4已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@m2hlzjhl
此快照首次捕获于
2024/10/20 21:13
去年
此快照最后确认于
2025/11/04 16:40
4 个月前
查看原帖
rt,我使用如下的线段树上二分代码,样例都没过,能 AC。。。old record
CPP
int query(int i,ll tim,ll hp){
	if(tr[i].l==tr[i].r)return 0;
	pushdown(i);
	int mid=tr[i].l+tr[i].r>>1;
	if(tr[i].sum*tim<=hp)return tr[i].len;//注意这行。
	else{
		if(tr[i<<1].sum*tim>=hp)return query(i<<1,tim,hp);
		else return tr[i<<1].len+query(i<<1|1,tim,hp-tr[i<<1].sum*tim);
	}
}

然后我去掉代码中标记的这一行(如下),样例通过,并且 AC 此题。new record
CPP
int query(int i,ll tim,ll hp){
	if(tr[i].l==tr[i].r)return 0;
	pushdown(i);
	int mid=tr[i].l+tr[i].r>>1;
	if(tr[i<<1].sum*tim>=hp)return query(i<<1,tim,hp);
	else return tr[i<<1].len+query(i<<1|1,tim,hp-tr[i<<1].sum*tim);
}
因此,请求加强数据。

回复

7 条回复,欢迎继续交流。

正在加载回复...