社区讨论
提供一种无需卡精度的判断大小方式
P4097【模板】李超线段树 / [HEOI2013] Segment参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mhjkgywu
- 此快照首次捕获于
- 2025/11/04 04:02 4 个月前
- 此快照最后确认于
- 2025/11/04 04:02 4 个月前
CPP
bool big(int a,int b,int k){
long long d1=x[a].u,d2=x[b].u;
long long fz1=1ll*(k-x[a].l)*(x[a].d-x[a].u);
long long fz2=1ll*(k-x[b].l)*(x[b].d-x[b].u);
long long fm1=x[a].r-x[a].l,fm2=x[b].r-x[b].l;
if(!fm1)d1=max(x[a].u,x[a].d),fz1=0;
if(!fm2)d2=max(x[b].u,x[b].d),fz2=0;
if(fm1)d1*=fm1;
if(fm2)d2*=fm2;
if(fm1)d2=(d2+fz2)*fm1;
else d2=d2+fz2;
if(fm2)d1=(d1+fz1)*fm2;
else d1=d1+fz1;
if(d1!=d2)return d1>d2;
return a<b;
}
分别表示
为线段编号
回复
共 1 条回复,欢迎继续交流。
正在加载回复...