AHOI 2001 质数和分解

Posted lajiccf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AHOI 2001 质数和分解相关的知识,希望对你有一定的参考价值。

https://www.luogu.com.cn/problem/P2563

完全背包。

预处理出来 (200) 以内的素数。

以每个素数为物品进行背包。

时间复杂度:(O(200 imes sqrt{200}+200 imes frac{200}{ln 200}+T)approx O(10576))

#include <bits/stdc++.h>
using namespace std;
int n,dp[210];
int zs[210],tot;
bool prime(int x) {
	for(int i=2;i*i<=x;i++)
		if(x%i==0)
			return 0;
	return 1;
}
int main() {
	for(int i=2;i<=200;i++)
		if(prime(i))
		   zs[++tot]=i;//最为暴力的素数筛法
	dp[0]=1;
	for(int i=1;i<=tot;i++)
		for(int j=zs[i];j<=200;j++)
			dp[j]+=dp[j-zs[i]];//完全背包
	while(scanf("%d",&n)==1)
		printf("%d
",dp[n]);//O(1) 回答
}

以上是关于AHOI 2001 质数和分解的主要内容,如果未能解决你的问题,请参考以下文章

P2563 [AHOI2001]质数和分解

P2563 [AHOI2001]质数和分解

洛谷P2563 [AHOI2001]质数和分解

「AHOI2018 初中组」根式化简(分解质因数+推性质)

省选水题集Day1一起来AK水题吧! 题目(更新到A)

[HNOI2001] 求正整数