模拟赛41 A. 四个质数的和
题目描述
给定了一个正整数 \(N\)。有多少种方法将 \(N\) 分解成为四个质数 \(a,b,c,d\)的和。
例如:
\(9=2+2+2+3=2+2+3+2=2+3+2+2=3+2+2+2\),故共有 \(4\) 种方法将 \(9\) 分解成为四个整数。
输入格式
本题多组数据测试:
第一行读入一个整数 \(T\) 表示数据组数。
接下来共 \(T\) 行,每行包含一个正整数 \(N\)。
输出格式
共 \(T\) 行,每行一个整数表示答案。
样例
样例输入
2
9
10
样例输出
4
6
数据范围与提示
对于 \(10\%\) 的数据,\(N \leq 10\)。
对于 \(40\%\) 的数据,\(N \leq 100\)。
对于 \(70\%\) 的数据,\(N \leq 1000\)。
对于 \(1000\%\) 的数据,\(T \leq 10,N \leq 100000\)。
分析
可以设 \(f[i][j]\) 为当前用了 \(j\) 个质数拼出 \(i\) 的方案数
状态数太多转移不动
可以改为先求出两两质数的和,再用这个和去拼出想要的数
代码
#include<cstdio>
#define rg register
inline int read(){
rg int x=0,fh=1;
rg char ch=getchar();
while(ch<'0' || ch>'9'){
if(ch=='-') fh=-1;
ch=getchar();
}
while(ch>='0' && ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*fh;
}
const int maxn=1e5+5;
int t,n,pri[maxn];
bool not_pri[maxn];
long long f[maxn][4];
void pre(int now){
not_pri[0]=not_pri[1]=1;
for(rg int i=2;i<=now;i++){
if(!not_pri[i]) pri[++pri[0]]=i;
for(rg int j=1;j<=pri[0] && 1LL*i*pri[j]<=now;j++){
not_pri[i*pri[j]]=1;
if(i%pri[j]==0) break;
}
}
for(rg int i=1;i<=pri[0];i++){
f[pri[i]][1]=1;
}
for(rg int o=2;o<=2;o++){
for(rg int i=1;i<=now;i++){
if(f[i][o-1]){
for(rg int j=1;j<=pri[0];j++){
if(i+pri[j]<=now){
f[i+pri[j]][o]+=f[i][o-1];
} else {
break;
}
}
}
}
}
}
long long ans;
int main(){
t=read();
pre(100000);
while(t--){
n=read();
ans=0;
for(rg int i=2;i<=n;i++){
ans+=f[i][2]*f[n-i][2];
}
printf("%lld\n",ans);
}
return 0;
}
模拟赛41 A. 四个质数的和的更多相关文章
- 常州模拟赛d2t1 小X的质数
题目背景 小 X 是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的 情感.小 X 认为,质数是一切自然数起源的地方. 题目描述 在小 X 的认知里,质数是除了本身和 1 以外,没有其他因 ...
- 【HHHOJ】ZJOI2019模拟赛(十四)03.12 解题报告
点此进入比赛 得分: \(50+5+24=79\) 排名: \(Rank\ 2\) \(Rating\):\(+79\) \(T1\):[HHHOJ197]古明地(点此看题面) 基本上全部时间都用来想 ...
- NOIp模拟赛三十四(yxq供题)
毒瘤yxq! 毒瘤yxq! 毒瘤yxq! 据yxq自己说,林导让他出题的时候要求是“代码量少”,“思维难度高”,“不涉及太复杂的算法”,而且“最好要让myh有一题做不出来”(狙击myh).于是今天的题 ...
- NOI.AC NOIP模拟赛 第四场 补记
NOI.AC NOIP模拟赛 第四场 补记 子图 题目大意: 一张\(n(n\le5\times10^5)\)个点,\(m(m\le5\times10^5)\)条边的无向图.删去第\(i\)条边需要\ ...
- NOIp2018模拟赛四十二
今天看标题终于回到了“NOIP模拟赛”,十分高兴啊! 然后一打开题目: ********** 所以今天又是一场NOIPlus模拟赛(微笑) 成绩:0+70+0=70 A题想了个贪心被myh两分钟cha ...
- 「CSP-S模拟赛」2019第四场
「CSP-S模拟赛」2019第四场 T1 「JOI 2014 Final」JOI 徽章 题目 考场思考(正解) T2 「JOI 2015 Final」分蛋糕 2 题目 考场思考(正解) T3 「CQO ...
- PKUSC 模拟赛 day1 下午总结
下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstd ...
- 2017-9-22 NOIP模拟赛[xxy][数论]
XXY 的 的 NOIP 模拟赛 4 4 —— 数学专场 A Description定义 f(x)表示 x 的约数和,例:f(12)=1+2+3+4+6+12=28给出 x,y,求Σf(i),i∈[x ...
- NOI.AC: NOIP2018 全国模拟赛习题练习
闲谈: 最后一个星期还是不浪了,做一下模拟赛(还是有点小虚) #30.candy 题目: 有一个人想买糖吃,有两家商店A,B,A商店中第i个糖果的愉悦度为Ai,B商店中第i个糖果的愉悦度为Bi 给出n ...
随机推荐
- ThreeJS系列2_effect插件集简介( 3d, vr等 )
ThreeJS系列2_effect插件集简介( 3d, vr等 ) ThreeJS 官方案例中有一些 js库 可以替代 render 将场景中的物质变换为其他效果的物质 目录 ThreeJS系列2_e ...
- python之冒泡排序改进
冒泡排序改进 关注公众号"轻松学编程"了解更多. 一.普通冒泡排序 [22,3,1,6,7,8,2,5] 普通冒泡排序 思路: 第一趟排序 从下标0开始,取出对应的值22 22和3 ...
- Python3网络学习案例二:traceroute详解
1. 写在前面 本文是基于上一篇"ping详解"写的: 不同操作系统下的命令也不同,本文仅针对windows系统,命令为"tracert xxx",效果如下 2 ...
- dict和list
一.字典(Dictionary) 1.什么是 dict(字典) 上一章节,我们学习了列表(List) 和 元组(tuple) 来表示有序集合. 而我们在讲列表(list)的时候,我们用了列表(list ...
- 对Spark硬件配置的建议
对于Spark开发人员来说,一个比较普遍的问题就是如何合理的配置Spark的硬件?当然如何合理的对Spark集群进行硬件配置要视情况而定,在这里给出以下建议: 存储系统 在大数据领域,有一句" ...
- Pycharm激活码,2020年9月29日最新激活码
分享一个Pycharm激活码给大家: 5MJ8MJ2T1Q-eyJsaWNlbnNlSWQiOiI1TUo4TUoyVDFRIiwibGljZW5zZWVOYW1lIjoi6I635Y+W77yaIG ...
- .net core mvc appsettings.json配置文件的使用
配置文件的使用主要是两种用法 1.直接使用弱类型的数据 2.使用强类型的数据 (将配置的数据映射到类) 直接使用弱类型的数据 在appsetings.json文件中先新建两个节点 TestObj节点 ...
- JWT基本概念
json web token 简称 JWT,它并不是一个具体的技术实现,而更像是一种标准. JWT规定了数据传输的结构,一串完整的JWT由三段落组成,每个段落用英文句号连接(.)连接,他们分别是:He ...
- VMware 虚拟机下CentOS 7连接网络
查看主机网络配置 ipconfig 1.在centos打开终端命令 2. 输入命令 cd /etc/sysconfig/network-scripts/ 进入文件 输入 ls查看此文件夹下的文件 3 ...
- 大厂是怎么进行SQL调优的?
有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...