zoukankan      html  css  js  c++  java
  • 完全背包【p1832】A+B Problem(再升级)

    Description

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

    Input

    一行:一个正整数n

    Output

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

    素数之和 ? 背包啊.

    没一遍切的题都不是水题

    我们用线性筛,筛出(leq n)的质数.

    枚举每个质数.再枚举到(n),累计方案数即可.

    (f[i])代表组成(i)的方案数.

    注意(f[0]=1)(不需要数填充也是一种方案)

    代码

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    #define int long long
    #define R register
    using namespace std;
    inline void in(int &x)
    {
    	int f=1;x=0;char s=getchar();
    	while(!isdigit(s)){if(s=='-')f=-1;s=getchar();}
    	while(isdigit(s)){x=x*10+s-'0';s=getchar();}
    	x*=f;
    }
    int prime[498],tot,n,f[1008];
    bool vis[1008];
    inline void pri()
    {
    	for(R int i=2;i<=n;i++)
    	{
    		if(!vis[i])prime[++tot]=i;
    		for(R int j=1;j<=tot&& i*prime[j]<=n;j++)
    		{
    			vis[i*prime[j]]=true;
    			if(i%prime[j]==0)break;
    		}
    	}
    }
    signed main()
    {
    	in(n);
    	pri();f[0]=1;
    	for(R int i=1;i<=tot;i++)
    		for(R int j=prime[i];j<=n;j++)
    			f[j]+=f[j-prime[i]];
    	printf("%lld",f[n]);
    }
    
  • 相关阅读:
    Nginx 模块:--with-http_sub_status_module
    Nginx http请求&日志
    Nginx 目录和配置语法&DNS配置
    Nginx 全局配置
    Nginx 相关操作1
    Nginx入坑基础篇
    杂谈maven工程实践(3)
    杂谈maven工程类型(2)
    杂谈maven相关概念(1)
    Django
  • 原文地址:https://www.cnblogs.com/-guz/p/9857901.html
Copyright © 2011-2022 走看看