社区讨论
警示后人 70 ~ 80 MLE / 2 TLE 整体二分
P3527[POI 2011] MET-Meteors参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mjnzk4mc
- 此快照首次捕获于
- 2025/12/27 15:35 2 个月前
- 此快照最后确认于
- 2025/12/29 19:40 2 个月前
在整体二分过程中,将询问分成两部分时,应使用数组节省空间,而不是 vector。
CPPq1[cnt1++] = q[i];
//q1.push_back(q[i]);
q2[cnt2++] = q[i];
//q2.push_back(q[i]);
并且,
CPPcnt1 和 cnt2 应在函数内定义。否则,当往下递归时会被改变。
Work(ql, ql + cnt1 - 1, vl, mid);//第一次
//若 cnt1 和 cnt2 为全局变量,则 此时 cnt1 和 cnt2 已经被改变,于是第二次时使用的 cnt1 已经不再是原来的 cnt1
Work(ql + cnt1, qr, mid + 1, vr);//第二次
应使用
CPPvoid Solve() {
...
int cnt1 = 0, cnt2 = 0;
...
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...