Codeforces Round #589 (Div. 2) - C

Posted zssst

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #589 (Div. 2) - C相关的知识,希望对你有一定的参考价值。

技术图片

题目大意:$prime(x)$ 代表 $x$ 的质因数的集合。

                  $g(x, p)$ 代表 $p^k$ 的最大值, $k$ 为整数,并且 $x$ 可以被 $p^k$ 整除。

                  $f(x, p)$ 代表 对于 $prime(x)$ 中的每一个 $x$ 的 $g(x, p)$ 值。

                  现在给定 $x, n$ 求 $f(x, 1) * f(x, 2) * ... *f(x, n) mod (10^9 + 7)$ 的值。

思路:对于 $x$ 进行质因数分解,分别考虑每一个 $prime(x)$ 对答案做出的贡献,假设目前的质因数为 $p_i$ , 那么 $n$ 个数中有 $n / p_i$ 个数可以被 $p_i$ 整除,之后考虑 $p_i ^ 2$ 的情况,如果小于 $n$ 则他对答案有贡献,根据上面可知有 $n / p_i^2$ 个数字可以被 $p_i^2$ 整除,但是这两个里面有重复的数字, 需要去掉.

	for(int i = 1; i <= m; ++i)
	{
		ll t = n;
		while(t / p[i] != 0)
		{
			ll num = t / p[i];
			ans = ans * pow_mod(p[i], num, MOD) % MOD;
			t /= p[i];
		}
	}

  

以上是关于Codeforces Round #589 (Div. 2) - C的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #589 (Div. 2)

Codeforces Round #589 (Div. 2)

codeforces round 589

Codeforces Round #589 (Div. 2) A. Distinct Digits

Codeforces Round #589 (Div. 2) (ef没写)

Codeforces Round #589 (Div. 2) - A