关于lower_bound&upper_bound

P1975 [国家集训队] 排队

直接$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


|