[AHOI2001] 质数和分解

分析

完全背包模板

#include<cstdio>
#define FOR(a,b,c) for(int a=b;a<=c;a++)
using namespace std;
const int N=201;
bool bp[N];
int p[N],cnt;
int n,f[N];
void prime_work(int k){bp[0]=bp[1]=1;
    FOR(i,2,k){if(!bp[i])p[++cnt]=i;
        FOR(j,1,cnt){if(i*p[j]>k)break;
            bp[i*p[j]]=1;
            if(i%p[j]==0)break;
        }
    }
}
int main(){prime_work(200);
    f[0]=1;
    FOR(i,1,cnt)FOR(j,p[i],200)f[j]+=f[j-p[i]];
    while(~scanf("%d",&n))printf("%d\n",f[n]);
    return 0;
}

 上一篇
[LuoguP1637] 三元上升子序列 [LuoguP1637] 三元上升子序列
题解对于 ,考虑在它前面比它小的数的个数记为 ,在它后面比它打的数的个数记为 ,相乘累加到答案。 显然,离散化一下后可以用树状数组统计。 具体方法是离散化后,遍历数组时把当前元素的值当作下标,在该下标的位置上
2018.11.08
下一篇 
VIM 学习日志 VIM 学习日志
摘要 vim 大法好啊 Vim 插件安装首先安装 Vundle,见 Vundle-Github. 安装插件的时候,先在 vimrc 里面输入 Plugin 'XXX' 并保存,然后 vim 里运行 PluginInstal
2018.11.08
  目录