一个有关取余数的问题
问题描述:
一个有关取余数的问题
DP中原来的方程应该是
for i:=1 to q do
for j:=0 to n do
for k:=0 to n do
for u:=0 to n do
for v:=0 to n do
if can[u,v] then f[i,j,k]:=f[i,j,k]+f[i-1,j,u]*f[i-1,v,k];
ans:=0;
for u:=0 to kin do
for v:=0 to kin do
ans:=ans+f[q,u,v];
而题目的结果很大,要求对p取余,然后我每一步都取余,像这样
if can[u,v] then f[i,j,k]:=(f[i,j,k]+f[i-1,j,u]*f[i-1,v,k])mod p
ans:=(ans+f[x,u,v])mod p;
总之是错了,大牛说要高精度算出来再取余.
问下这样做为什么不行?顺便求些有关余数的论文结论什么的.
答
z