社区讨论
题解区三篇题解用了同样的 O(n^2) 写法
P8765 [蓝桥杯 2021 国 AB] 翻转括号序列参与者 5已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mhjaxtci
- 此快照首次捕获于
- 2025/11/03 23:35 4 个月前
- 此快照最后确认于
- 2025/11/03 23:35 4 个月前
题解区五篇里有三篇的做法最坏是 n^2 的,分别是 Ristear、zcq_qwq、meiyunxi。也就是说题解区的错误率高达
60% (后两个题解大概是抄的 Ristear 的第一篇题解,就以第一篇题解为例说明,第一篇题解的思路是对于询问的 找到最大的 使得区间和大于等于零,然后如何由 得到答案(和等于 0 的区间),题解错误的使用了
Cwhile(S) {l-=S;S=query_sum(1,1,n,L,l);}
即从 (代码里的
l) 开始暴力减掉区间和指导区间和为 0。看上去复杂度不是很对,实际上确实不对,考虑这样的样例:
C25 1
()(()()()()()()()()()()()
2 1
这样的数据会让
while循环执行12次,即长为 的字符串可以卡到 次执行while循环。这样总复杂度就是 的了实际上这份代码的solve改为两次线段树上二分就可以正确的复杂度通过此题,防止被当作讨论区贴题解就不发完整代码了
回复
共 4 条回复,欢迎继续交流。
正在加载回复...