Fhq,但炸了

P2596 [ZJOI2006] 书架

`for(i=l;i<=rd;i++)`我这里显示你的是l不是1
by ningago @ 2022-07-21 20:25:38


@[ningago](/user/371968) 嗯,我给l赋初值80005
by Main_WF @ 2022-07-21 20:40:52


@[ningago](/user/371968) 我是通过向fhq树里面加入小于当前树中最小值并处理映射(p[]与b[]数组)来完成top操作的,bottom操作同此
by Main_WF @ 2022-07-21 20:43:24


为了避免在top操作时往树里面加负值,我就将l赋值80005
by Main_WF @ 2022-07-21 20:44:53


本地上调试,断点设置在while循环时,查看中rd是79997,并且tot(树中结点个数)也是79997
by Main_WF @ 2022-07-21 20:49:05


调试过后初步确定问题出在主函数的for循环上,我在for循环建树后,写了个中序遍历,其中结点只有80005-160001,说明后面几个点没有建上
by Main_WF @ 2022-07-21 20:56:27


问题已解决,是数组溢出的问题,p[]下标是书的编号,最大需要开80001,b[]下标是fhq中的v,初值为80005,若有80000本书,80000次操作都是bottom,那么b至少需要开到24e4+6
by Main_WF @ 2022-07-21 21:17:33


|