警示后人,如果wa2, 6, 9, 12
查看原帖
警示后人,如果wa2, 6, 9, 12
794578
crh_楼主2024/7/24 19:05

请注意主函数中的单调队列,while中对比的部分要取等,即>=或<= 如下:

		while(d.size() > 1 && (long double)(Y(d.back()) - Y(d[d.size() - 2])) * (X(i) - X(d[d.size() - 2])) > (long double)(Y(i) - Y(d[d.size() - 2])) * (X(d.back()) - X(d[d.size() - 2]))) d.pop_back();

wa

		while(d.size() > 1 && (long double)(Y(d.back()) - Y(d[d.size() - 2])) * (X(i) - X(d[d.size() - 2])) >= (long double)(Y(i) - Y(d[d.size() - 2])) * (X(d.back()) - X(d[d.size() - 2]))) d.pop_back();

ac

2024/7/24 19:05
加载中...