在做本题(P6060)时,我的程序在洛谷上能过,但在本地vscode却会初始化时莫名退出(还没输入就退出了),请问有大佬知道这是什么情况吗?
初始化代码如下:
void init()
{
int tot = 0;
poly[1][0] = 1;
for (int i = 2; i < N; i++)
{
if (!vis[i])
prime[++tot] = i, poly[i][0] = 1, poly[i][1] = 1, ti[i] = 1, t[i] = i;
for (int j = 1; prime[j] <= N / i && j <= tot; j++)
{
int now = prime[j] * i;
poly[now][0] = 1, vis[now] = 1;
if (i % prime[j] == 0)
{
ti[now] = ti[i] + 1, t[now] = t[i] * prime[j];
if (t[now] == now)
poly[now][1] = ti[now];
else
{
for (int pos = 1; pos <= 8; pos++)
{
poly[now][pos] = poly[now / t[now]][pos] + 1ll * poly[now / t[now]][pos - 1] * ti[now] % mod;
if (poly[now][pos] >= mod)
poly[now][pos] -= mod;
}
}
break;
}
ti[now] = 1, t[now] = prime[j];
for (int pos = 1; pos <= 8; pos++)
{
poly[now][pos] = poly[i][pos] + poly[i][pos - 1];
if (poly[now][pos] >= mod)
poly[now][pos] -= mod;
}
}
}
for (int i = 1; i < N; i++)
for (int j = 0; j <= 8; j++)
poly[i][j] -= (poly[i][j] += poly[i - 1][j]) >= mod ? mod : 0;
}