直接$lowerbound$的答案总是会少个$1$还是$2$
by Yzweak @ 2019-03-03 13:04:00
头像真好看...
by aminoas @ 2019-03-03 13:04:17
数据需要是有序的
by wjyyy @ 2019-03-03 13:04:34
@[wjyyy](/space/show?uid=63539) 可是一直都是保持有序啊。。
by Yzweak @ 2019-03-03 13:05:20
@[wjyyy](/space/show?uid=63539) 从一开始排序之后用的都是插排,每个块内一直都是有序的,插排部分暴力验证了应该没什么问题
by Yzweak @ 2019-03-03 13:07:20
@[彩色蒟蒻](/space/show?uid=49285) 去重会不会有影响啊……
by wjyyy @ 2019-03-03 13:14:54
@[wjyyy](/space/show?uid=63539) 没去重,看这两个函数的定义本来就是处理有重复数据的情况的。。。
by Yzweak @ 2019-03-04 14:30:02
@[wjyyy](/space/show?uid=63539) 咳咳咳,找到错了,在 插排部分:
```cpp
int pl=lower_bound(atag[l].begin(),atag[l].end(),v[l])-atag[l].begin();
```
要改成
```cpp
int pl=lower_bound(atag[block[l]].begin(),atag[block[l]].end(),v[l])-atag[block[l]].begin();
```
数据小的时候$block[l]$大概率和$l$相等,数据范围调到$100$答案也只会差$1$或$2$,调死我了。
还是谢谢$dalao$
by Yzweak @ 2019-03-04 15:14:38
@[彩色蒟蒻](/space/show?uid=49285) 不客气(也没帮上什么忙
by wjyyy @ 2019-03-04 15:17:07