【cqbzoj】:1330 Prime DP(Ahio2001 质数和分解)

探讨了如何通过编程计算一个自然数能以多少种不同的质数和表达式表示的方法,采用完全背包算法并筛选2000以内的所有质数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题 L(1330): Prime

时间限制: 1 Sec  内存限制: 64 MB

题目描述

任何大于 1 的自然数 N,都可以写成若干个大于等于2且小于等于 N 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。 例如9 的质数和表达式就有四种本质不同的形式:9 = 2+5+2 = 2+3+2+2 = 3+3+3 = 2+7 。 这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中参加和运算的各个数的位置而直接得到另一个表达式。 试编程求解自然数 N 可以写成多少种本质不同的质数和表达式。

输入

第1行:一个自然数 N , 2≤N≤2000。

输出

第1行:输出每一个自然数 N 的本质不同的质数和表达式的数目。

样例输入

2

样例输出

1

提示

【数据规模】
对于40%的数据 N<=200
对于100%的数据 N<=2000




这是一个套完全背包模板的题。。

先筛出2000内所有素数

作为元素来塞背包

看最后有多少塞法

答案会爆unsigned long long

于是使用高精度。


代码:

#include<cstdio>
#include<cstring>
#define PRIMEL 2200
#define ULL unsigned long long
bool vis[PRIMEL];
int prime[PRIMEL],tot=1;
inline int max(int a,int b){return a>b?a:b;}
void phi(){
    int tmp=(PRIMEL+1)/2;
    for(int i=2;i<=tmp;i++)
        if(!vis[i])for(int j=i+i;j<PRIMEL;j+=i)vis[j]=true;
    for(int i=2;i<PRIMEL;i++)
        if(!vis[i])prime[tot++]=i;
}
 
struct Num{
    char s[100];
    int len;
    Num(){len=0;memset(s,0,sizeof s);}
    Num(const Num&a){
        memcpy(s,a.s,sizeof s);
        len=a.len;
    }
    void print(){
        for(int i=len-1;i>=0;i--)
            putchar(s[i]+'0');
    }
};
Num operator+(Num a,Num b){
    Num ret;
    int len=max(b.len,a.len);
    for(int i=0;i<len;i++){
        ret.s[i]+=a.s[i]+b.s[i];
        ret.s[i+1]=ret.s[i]/10;
        ret.s[i]%=10;
    }
    if(ret.s[len])len++;
    ret.len=len;
    return ret;
}
 
int n;
Num f[2200];
int main(){
    f[0].len=1;
    f[0].s[0]=1;
    phi();
    scanf("%d",&n);
    for(int i=1;i<tot&&prime[i]<=n;i++)
        for(int j=prime[i];j<=n;j++)
            f[j]=f[j-prime[i]]+f[j];
    f[n].print();
}


内容概要:本文针对国内加密货币市场预测研究较少的现状,采用BP神经网络构建了CCi30指数预测模型。研究选取2018年3月1日至2019年3月26日共391天的数据作为样本,通过“试凑法”确定最优隐结点数目,建立三层BP神经网络模型对CCi30指数收盘价进行预测。论文详细介绍了数据预处理、模型构建、训练及评估过程,包括数据归一化、特征工程、模型架构设计(如输入层、隐藏层、输出层)、模型编译与训练、模型评估(如RMSE、MAE计算)以及结果可视化。研究表明,该模型在短期内能较准确地预测指数变化趋势。此外,文章还讨论了隐层节点数的优化方法及其对预测性能的影响,并提出了若干改进建议,如引入更多技术指标、优化模型架构、尝试其他时序模型等。 适合人群:对加密货币市场预测感兴趣的研究人员、投资者及具备一定编程基础的数据分析师。 使用场景及目标:①为加密货币市场投资者提供一种新的预测工具方法;②帮助研究人员理解BP神经网络在时间序列预测中的应用;③为后续研究提供改进方向,如数据增强、模型优化、特征工程等。 其他说明:尽管该模型在短期内表现出良好的预测性能,但仍存在一定局限性,如样本量较小、未考虑外部因素影响等。因此,在实际应用中需谨慎对待模型预测结果,并结合其他分析工具共同决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值