关于这题的题解以及乘法逆元的使用不是很懂
题目:括号串
题解:题解
这里乘法逆元用来预处理卡特兰数的,想要问一下这种使用乘法逆元的方法和使用卡特兰数递推公式直接Cat[n]=(Cat[n-1]*(4n-2)/(n+1))%M
的区别,这样能让算法更快吗?似乎我自己用这种递推算出来不对,是不是这样会有精度损失的问题啊awa。
还有题解里定义并且递推了这几个数组:
fac[4000005],inv[4000005],cat[4000005],inv1[4000005]
并且对于每个数组的内容进行了相对应的初始化,其中fac[]
是阶乘数组,inv[]
是阶乘数组的乘法逆元,但是算出来之后都没有用到,只有inv[1]
作为n+1的逆元有被用到。我把相关的代码删了也能输出正确答案,不大懂这两个数组的意义QAQ
求大佬解惑