题目描述:

AS WE ALL KNOW, lfx是咱们组的神仙,但是mxh想考一考lfx一个简单的问题,以此看一下lfx到底是不是神仙。但是lfx要准备补考,于是请你来帮忙回答问题:

给定一个整数N,和N个整数ai(1<=i<=n),mxh有n个询问,即第i个询问(1<=i<=n)是数组a从1~i这i个数中,奇数的个数是否是一个质数?< span="">

如果是请输出”YES”,没有引号。反之输出”NO”。

正如你想的那样,你输出有N个输出。

数据范围:

1<=n<=1e6

1<=ai<=1e6

非常easy的一个题目吧,为什么没人过,,如果a[i] 是奇数就把a[i]赋值为1,否则赋值为0。然后求a[i]数组的前缀和,

预处素数表之后,1~n扫一下前缀和,如果是质数就输出YES反而反之就好了。题目真没什么可以说的。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <vector>
#include <iomanip>
#define ALL(x) (x).begin(), (x).end()
#define rt return
#define dll(x) scanf("%I64d",&x)
#define xll(x) printf("%I64d\n",x)
#define sz(a) int(a.size())
#define all(a) a.begin(), a.end()
#define rep(i,x,n) for(int i=x;i<n;i++)
#define repd(i,x,n) for(int i=x;i<=n;i++)
#define pii pair<int,int>
#define pll pair<long long ,long long>
#define gbtb ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define MS0(X) memset((X), 0, sizeof((X)))
#define MSC0(X) memset((X), '\0', sizeof((X)))
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define eps 1e-6
#define gg(x) getInt(&x)
#define db(x) cout<<"== [ "<<x<<" ] =="<<endl;
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
ll powmod(ll a,ll b,ll MOD){ll ans=1;while(b){if(b%2)ans=ans*a%MOD;a=a*a%MOD;b/=2;}return ans;}
inline void getInt(int* p);
const int maxn=1000010;
const int inf=0x3f3f3f3f;
/*** TEMPLATE CODE * * STARTS HERE ***/
int n;
int a[maxn];
int sum[maxn];
const int   N = 1e7+50;
bool noprime[N+50];// true -> 不是素数
vector <int> p;
void getPrime()
{// 华丽的初始化memset(noprime,false,sizeof(noprime));p.clear();int m=(int)sqrt(N+0.5);// 多姿的线性筛for(int i=2;i<=m;i++){if(!noprime[i]){for(int j=i*i;j<=N;j+=i){noprime[j] = true;}}}noprime[1]=1;
//    // 把素数加到vector里
//    for(int i=2;i<=maxn;i++)
//    {
//        if(!noprime[i])
//        {
//            p.push_back(i);
//        }
//    }
//    //返回vector的大小
//    return p.size();

}
int main()
{
//    freopen("D:\\common_text\\code_stream\\in.txt","r",stdin);
//    freopen("D:\\common_text\\code_stream\\out.txt","w",stdout);
    getPrime();scanf("%d",&n);repd(i,1,n){scanf("%d",&a[i]);if(a[i]&1){a[i]=1;}else{a[i]=0;}sum[i]=sum[i-1]+a[i];}repd(i,1,n){if(noprime[sum[i]]){printf("NO\n");}else{printf("YES\n");}}return 0;
}inline void getInt(int* p) {char ch;do {ch = getchar();} while (ch == ' ' || ch == '\n');if (ch == '-') {*p = -(getchar() - '0');while ((ch = getchar()) >= '0' && ch <= '9') {*p = *p * 10 - ch + '0';}}else {*p = ch - '0';while ((ch = getchar()) >= '0' && ch <= '9') {*p = *p * 10 + ch - '0';}}
}

转载于:https://www.cnblogs.com/qieqiemin/p/10393337.html

1168: mxh对lfx的询问(前缀和+素数表)相关推荐

  1. 前缀和 + ST表 ---- CF 1556 E. Equilibrium(两个序列 + - 操作使得每位相等) 详解

    题目连接 题目大意: 就是给你两个长度为nnn的a,ba,ba,b数组,给你q∈[1,1e5]q\in[1,1e5]q∈[1,1e5]次询问,每次询问一个区间[l,r][l,r][l,r] 你对这个区 ...

  2. 配置 postCSS 自动添加 css 的兼容前缀||打包样式表中的图片和字体文件||打包处理 js 文件中的高级语法

    配置 postCSS 自动添加 css 的兼容前缀 ① 运行 npm i postcss-loader autoprefixer -D 命令 ② 在项目根目录中创建 postcss 的配置文件 pos ...

  3. python 批量增加文件前缀_Excel VBA工作薄 7.5批量增加工作表前缀/后缀 工作表区分更方便...

    前景提要() 上节我们通过VBA成功的将创建工作表和工作表重命名这两个动作同时结合在一起,一次性完成了,大大的提高了我们的工作效率,解放了生产力,既然说到了工作表的重命名,很多小伙伴们就有话题了,有小 ...

  4. 表名含有后缀 mysql 怎么删除_mysql批量删除指定前缀或后缀表

    今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了 ...

  5. sqlserver 批量删除相同前缀名的表

    --方法1DECLARE @Table NVARCHAR(30) DECLARE tmpCur CURSOR FOR SELECT name FROM sys.objects WHERE TYPE=' ...

  6. phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名 呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介 ...

  7. 修改mysql表前缀_使用phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍 ...

  8. Oracle 给某列前后添加后缀或者前缀

    oracle中的连接符为|| 正常些update语句就可以了. 添加前缀: update 表名 set 字段名='带添加的字符'||字段名称 添加后缀: update 表名 set 字段名=字段名称| ...

  9. php怎么修改表前缀,教你如何修改帝国cms数据库表前缀?

    自己有个小站用的是帝国cms,因为找人恢复过数据,被人把表前缀改掉成了一个网址,看着别扭的很,于是想把这个数据库表前缀改过来,具体方法如下,本人亲自测试成功,不需要借助其他工具,大家按步骤操作即可: ...

  10. szu 寒训第二天 树状数组 二维树状数组详解,以及树状数组扩展应用【求逆序对,以及动态第k小数】

    树状数组(Binary Index Tree) 树状数组可以解决可以转化为前缀和问题的问题 这是一类用以解决动态前缀和的问题 (有点像线段树简版) 1.对于 a1 + a2 + a3 + - + an ...

最新文章

  1. 数据分析之pandas常见的数据处理(四)
  2. 有关调试CRM系统的一些感想
  3. std::remove
  4. SAP成都研究院廖婧:SAP C4C社交媒体集成概述
  5. C语言字符像素,返回字符串宽度 (以像素为单位)
  6. setitimer()函数
  7. 这些年,NLP常见的预训练模型剖析
  8. 生活需要懂点技巧…懂点策略…懂点计谋……【心灵悟语】
  9. msdn安装后怎么用_Win10不好用?安装官方版精简Win10后,运行比win7更快更流畅
  10. Server Transport model
  11. html flash 背景,使FLASH背景变透明的方法介绍
  12. 汽车车牌正则表达式验证,含新能源车牌(适用全国)
  13. JDK1.8 下载及安装步骤
  14. 用计算机怎么计算税率,一般纳税人税率计算器,一般纳税人税率如何计算?
  15. 时域OCT(TD-OCT) 我的理解
  16. ABAP的OPEN CURSOR语法
  17. sap委外退料流程图_生产部领退料流程图
  18. 研究云计算中调度算法遇到的相关概念
  19. 微信公众帐号消息帐号
  20. 笔记本电脑连接HDMI接口拓展显示器没有反应

热门文章

  1. c语言中isupper用法,C 库函数 isupper() 使用方法及示例
  2. yolo批量检测图片
  3. 【PMP】PMBOK 笔记 第10章 项目沟通管理
  4. csgo fps不稳定和服务器,win10玩csgofps不稳定怎么办
  5. 【数据分析师3级】 数据挖掘方法论
  6. 超强wifi6路由器推荐!不强你打我!
  7. C#实现将DataTable数据转为Html内容保存为一张图片
  8. php批量修改文件夹名称的功能,php实现批量修改文件名称
  9. SpringBoot整合oracle报错异常信息(java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I))
  10. Dmoz中文目录收录的中文博客