作者password5353 (阿宅)
看板C_and_CPP
标题[问题] 解题卡关
时间Thu May 26 22:12:53 2022
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
在解题目时,有一个 bug 一直 de不出来
想请各位帮我看看哪里出了问题 谢谢!
我的解题想法:
一开始利用a阵列计算每个数的次数
接下来建立一个 tree 去递回储存点的最大值
然後再用另一个index array去储存tree中每个点对应的值是a 阵列中的哪个元素
我卡住的地方:
除了呼叫 root 的 index 也就是输入 1 和1,000,000 会回传正确数字,输入其他任何两个
数字结果都是1
最可能出现问题的应该是 findMax函式 不过自己找了很久还是没有发现问题在哪
和我的程式码:
喂入的资料(Input):
1 10
预期的正确结果(Expected Output):
20
错误结果(Wrong Output):
1
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
https://www.codepile.net/pile/VvOAOdgA
补充说明(Supplement):
题目网址
https://zerojudge.tw/ShowProblem?problemid=d712
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.9.114.88 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1653574376.A.54C.html
1F:→ firejox: 为什麽你的 findMax 有些没 return05/27 15:22
谢谢f大 我後来发现自己没有return 加上调整阵列初值问题就可以正常输出了!
2F:→ a58524andy: calc跑完a[n]不是3n+1的次数吗 那他问[i,j]里面05/27 15:34
3F:→ a58524andy: 谁最大不就a[i]扫到a[j]就好05/27 15:34
回a大 因为这题目的测资有点特殊 所以这样的话会超时 试了很多遍
4F:→ longlongint: 查询量有10M char, 查询范围10^7,2秒要做完05/28 11:11
5F:→ longlongint: 上网查建议解法是记忆法+伪线段树05/28 11:15
6F:→ longlongint: 建议转prob_solve板05/28 11:15
谢谢l 大 之前不知道有这个版! 问题已经顺利解决了
※ 编辑: password5353 (101.9.49.56 台湾), 05/28/2022 14:32:13