hoj 1867 经理的烦恼 (树状数组)
来源:互联网 发布:阿里云欠费 编辑:程序博客网 时间:2024/05/21 10:05
#include <stdio.h>#include <string.h>const int MAXN = 1e6+10;int num[MAXN];int cnt[MAXN];int C,N,M;bool isPrime(int num){ if(num <= 1) return false; for(int i = 2; i*i <= num; ++i) if(num%i == 0) return false; return true;}int lowBit(int x){ return x&-x;}int sum(int i){ int s = 0; while(i > 0) { s += cnt[i]; i -= lowBit(i); } return s;}void add(int i, int x){ while(i <= C) { cnt[i] += x; i += lowBit(i); }}int main(){ int cmd,a,b,flag; int time = 0; while(scanf("%d %d %d",&C,&N,&M) &&(C+N+M)) { memset(cnt,0,sizeof(cnt)); printf("CASE #%d:\n",++time); if(isPrime(M)) flag = 1; else flag = 0; for(int i = 1; i <= C; ++i) { num[i] = M; add(i,flag); } while(N--) { scanf("%d %d %d",&cmd,&a,&b); if(cmd == 0) { if(isPrime(num[a])) { num[a] += b; if(!isPrime(num[a])) add(a,-1); } else { num[a] += b; if(isPrime(num[a])) add(a,1); } } else { printf("%d\n",sum(b)-sum(a-1)); } } printf("\n"); } return 0;}
阅读全文
0 0
- hoj 1867 经理的烦恼 (树状数组)
- Hoj 1867 经理的烦恼(树状数组)
- hoj 1867_经理的烦恼_树状数组
- 【HOJ 1867】经理的烦恼(树状数组)
- hoj 1867 哈尔滨工业大学 oj 经理的烦恼 简单的树状数组
- hoj 1867 经理的烦恼
- HOJ 1867 经理的烦恼
- HOJ 1867 经理的烦恼
- 树状数组 经理的烦恼
- hoj 经理的烦恼
- Hoj(哈尔滨工业大学) 1867 经理的烦恼
- 区间素数个数 树状数组 HIT 1867 经理的烦恼
- HIT 1867 经理的烦恼(树状数组)
- HIT 1867 经理的烦恼(树状数组)
- HOJ1867 经理的烦恼【树状数组】
- 树状数组实践-HIT经理的烦恼
- hoj1867 经理的烦恼(树状数组)
- HOJ1867 经理的烦恼 树状数组
- [笔记分享] [Camera] 相机的flash led功能小结
- Redis在windows下安装过程
- dockercomposeyml 测试
- Java进阶之虚拟机《三》:类初始化
- selenium常见报错总结
- hoj 1867 经理的烦恼 (树状数组)
- C++指针与地址详解 _0
- jQuery插件开发(二)jQuery.fn方法
- leetcode 204. Count Primes
- 在页面上获取controller中的值
- oracle 修改字符集 修改为ZHS16GBK
- WEB后台通用平台构建之一:环境构建
- 【Java IO流】RandomAccessFile类的使用
- 线程数据不一致实例