1168: mxh对lfx的询问(前缀和+素数表)
题目描述:
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的询问(前缀和+素数表)相关推荐
- 前缀和 + 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] 你对这个区 ...
- 配置 postCSS 自动添加 css 的兼容前缀||打包样式表中的图片和字体文件||打包处理 js 文件中的高级语法
配置 postCSS 自动添加 css 的兼容前缀 ① 运行 npm i postcss-loader autoprefixer -D 命令 ② 在项目根目录中创建 postcss 的配置文件 pos ...
- python 批量增加文件前缀_Excel VBA工作薄 7.5批量增加工作表前缀/后缀 工作表区分更方便...
前景提要() 上节我们通过VBA成功的将创建工作表和工作表重命名这两个动作同时结合在一起,一次性完成了,大大的提高了我们的工作效率,解放了生产力,既然说到了工作表的重命名,很多小伙伴们就有话题了,有小 ...
- 表名含有后缀 mysql 怎么删除_mysql批量删除指定前缀或后缀表
今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了 ...
- sqlserver 批量删除相同前缀名的表
--方法1DECLARE @Table NVARCHAR(30) DECLARE tmpCur CURSOR FOR SELECT name FROM sys.objects WHERE TYPE=' ...
- phpMyAdmin批量修改Mysql数据表前缀的方法
多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名 呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介 ...
- 修改mysql表前缀_使用phpMyAdmin批量修改Mysql数据表前缀的方法
多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍 ...
- Oracle 给某列前后添加后缀或者前缀
oracle中的连接符为|| 正常些update语句就可以了. 添加前缀: update 表名 set 字段名='带添加的字符'||字段名称 添加后缀: update 表名 set 字段名=字段名称| ...
- php怎么修改表前缀,教你如何修改帝国cms数据库表前缀?
自己有个小站用的是帝国cms,因为找人恢复过数据,被人把表前缀改掉成了一个网址,看着别扭的很,于是想把这个数据库表前缀改过来,具体方法如下,本人亲自测试成功,不需要借助其他工具,大家按步骤操作即可: ...
- szu 寒训第二天 树状数组 二维树状数组详解,以及树状数组扩展应用【求逆序对,以及动态第k小数】
树状数组(Binary Index Tree) 树状数组可以解决可以转化为前缀和问题的问题 这是一类用以解决动态前缀和的问题 (有点像线段树简版) 1.对于 a1 + a2 + a3 + - + an ...
最新文章
- 数据分析之pandas常见的数据处理(四)
- 有关调试CRM系统的一些感想
- std::remove
- SAP成都研究院廖婧:SAP C4C社交媒体集成概述
- C语言字符像素,返回字符串宽度 (以像素为单位)
- setitimer()函数
- 这些年,NLP常见的预训练模型剖析
- 生活需要懂点技巧…懂点策略…懂点计谋……【心灵悟语】
- msdn安装后怎么用_Win10不好用?安装官方版精简Win10后,运行比win7更快更流畅
- Server Transport model
- html flash 背景,使FLASH背景变透明的方法介绍
- 汽车车牌正则表达式验证,含新能源车牌(适用全国)
- JDK1.8 下载及安装步骤
- 用计算机怎么计算税率,一般纳税人税率计算器,一般纳税人税率如何计算?
- 时域OCT(TD-OCT) 我的理解
- ABAP的OPEN CURSOR语法
- sap委外退料流程图_生产部领退料流程图
- 研究云计算中调度算法遇到的相关概念
- 微信公众帐号消息帐号
- 笔记本电脑连接HDMI接口拓展显示器没有反应
热门文章
- c语言中isupper用法,C 库函数 isupper() 使用方法及示例
- yolo批量检测图片
- 【PMP】PMBOK 笔记 第10章 项目沟通管理
- csgo fps不稳定和服务器,win10玩csgofps不稳定怎么办
- 【数据分析师3级】 数据挖掘方法论
- 超强wifi6路由器推荐!不强你打我!
- C#实现将DataTable数据转为Html内容保存为一张图片
- php批量修改文件夹名称的功能,php实现批量修改文件名称
- SpringBoot整合oracle报错异常信息(java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I))
- Dmoz中文目录收录的中文博客