zoukankan      html  css  js  c++  java
  • 洛谷 P1832 A+B Problem(再升级)

    题目背景

    ·题目名称是吸引你点进来的

    ·实际上该题还是很水的

    题目描述

    ·1+1=? 显然是2

    ·a+b=? 1001回看不谢

    ·哥德巴赫猜想 似乎已呈泛滥趋势

    ·以上纯属个人吐槽

    ·给定一个正整数n,求将其分解成若干个素数之和的方案总数。

    输入输出格式

    输入格式:

     

    一行:一个正整数n

     

    输出格式:

     

    一行:一个整数表示方案总数

     

    输入输出样例

    输入样例#1:
    7
    输出样例#1:
    3

    说明

    【样例解释】

    7=7 7=2+5

    7=2+2+3

    【福利数据】

    【输入】 20

    【输出】 26

    【数据范围及约定】

    对于30%的数据 1<=n<=10

    对于100%的数据,1<=n<=10^3

    思路:先筛法求素数筛出n以内所有的素数,然后就是DP

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int n,num,prime[1200];
    long long f[1200];
    bool yes[1200];
    void get_prime(int x){
        memset(yes,true,sizeof(yes));
        yes[1]=false;
        for(int i=2;i<=n;i++){
            if(yes[i]){
                num++;
                prime[num]=i;
            }
            for(int j=1;prime[j]*i<=n;j++){
                yes[prime[j]*i]=false;
                if(i%prime[j]==0)    break;
            }
        }
    }
    int main(){
        cin>>n;
        get_prime(n);
        f[0]=1;
        for(int i=1;i<=num;i++)
            for(int j=0;j<=n;j++)
                if(j>=prime[i])    f[j]=f[j]+f[j-prime[i]];
        cout<<f[n];
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    Minecraft我的世界如何联机
    关于我的博客地址jvav的由来
    ThreadLocal使用
    使用免费tk域名
    MVC的request,response流程
    TiDB原理与集群架构
    net5 自定义 中间件
    net5 Autofac支持
    net5 Autofac 支持AOP (1)
    mysql 索引优化
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7424803.html
Copyright © 2011-2022 走看看