奋战了四天终于有资格发言了。
出题人将时限缩至一秒之后个别题解已不能在现行条件下通过(不过应该只是常数问题),因而在参考题解对常数进行优化时应当谨慎。
本人对此题修改的复杂度有一些疑问:
若单纯对元素进行排序,由于不能同时维护顺序及位置关系,单次重构边角块复杂度将退化为 O(δlogδ)(δ为块长);
而若使用结构体或像我一样对下标排序后进行一次归并的复杂度为 O(δ),着实能够降低复杂度。
但在此题修改查询完全不平衡的情况下(应该是吧)本人想知道,单纯对元素进行排序是否仍有生存余地?
前两天我尝试实现单纯对元素进行排序但稳定TLE,无论如何调整块长都无法通过。换掉排序以后取 δn=750 可过,且时间显得较为宽裕。
请问是出题人通过调整两种操作数目刻意卡掉了这一排序方式,还是在本人查询函数 O(δnlogδlogSIZE) 的高复杂度下,上述修改的复杂度远不足以适配?
希望有神犇能够解答,感谢!
如果您不清楚我表述的排序方式是什么请移步博客。对常数的疑问也基本能得到解决。