预处理的方案很多,但各有利弊。
比如,在这道题中,如果使用线段树来做预处理,需要维护三个值:区间内最小值、最大值、数的个数。
这种办法有个缺点,当Hi的值很大时,有可能会内存开销过大,导致空间超限。
根据规定,程序可以使用的内存只有128兆,一旦使用的内存超出限制,则整道题0分。
为了解决这个问题,就需要进行离散化操作,平添难度。
江寒通过分析,综合比较、权衡了一番后,选择了比较保险的双向链表模拟算法。
相比线段树,双向链表不需要离散化,但是细节比较多,调试起来会稍微麻烦一点。
江寒自然不怕这点麻烦,一个是他对双向链表掌握得很好,二来……早上吃那么多东西,就是为了用在这种地方的。
只要舍得全力开动脑力,编写起这种复杂度的代码来,只是小意思。
Loading...
未加载完,尝试【刷新】or【关闭小说模式】or【关闭广告屏蔽】。
尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!
移动流量偶尔打不开,可以切换电信、联通、Wifi。
收藏网址:www.haimabooks.com
(>人<;)