HOJ——T 1867 经理的烦恼
http://acm.hit.edu.cn/hoj/problem/view?id=1867
| Source : HCPC 2005 Spring | |||
| Time limit : 2 sec | Memory limit : 32 M | ||
Submitted : 3490, Accepted : 796
输入格式
题目有多组输入。每组输入第一行有三个整数:C 连锁店的数量 N 指令的条数 M 每家连锁店初始的商品数量
接下来有N行,每行有一条指令。指令的格式为:
0 x y 连锁店x的商品数量变化值为y,y > 0商品数量增加, y < 0减少
1 i j 输出编号在[i,j]区间内的连锁店中商品数量为素数的有多少家
1 <= i, x, j < 1000000 连锁店中的商品数量a满足 0 <= a < 10000000,C = N = M = 0标志输入结束
输出格式
对于每组输入,输出它的序号。对于一组输入中的1指令输出要求的整数。每组输出后打印一行空行。
样例输入
100000 4 4
0 1 1
1 4 10
0 11 3
1 1 11 20 3 0
1 1 20
0 3 3
1 1 20 0 0 0
样例输出
CASE #1:
0
2 CASE #2:
0
1 树状数组+判断素数(2的一b的空间、、)
#include <algorithm>
#include <cstring>
#include <cstdio> using namespace std; const int maxn();
int n,t,sta,val[maxn]; int tr[maxn];
#define lowbit(x) (x&((~x)+1))
inline void Update(int i,int x)
{
for(;i<=n;i+=lowbit(i)) tr[i]+=x;
}
inline int Query(int x)
{
int ret=;
for(;x;x-=lowbit(x)) ret+=tr[x];
return ret;
} inline bool if_prime(int x)
{
if(x<) return false;
for(int i=;i*i<=x;i++)
if(x%i==) return false;
return true;
} int main()
{
for(int i=;scanf("%d%d%d",&n,&t,&sta);i++)
{
if(!n&&!t&&!sta) break;
memset(tr,,sizeof(tr));
printf("CASE #%d:\n",i);
bool flag=; if(if_prime(sta)) flag=;
for(int i=;i<=n;i++)
{
val[i]=sta;
if(flag) Update(i,);
}
for(int a,b,c;t--;)
{
scanf("%d%d%d",&a,&b,&c);
if(a==)
{
bool if1=if_prime(val[b]);
val[b]+=c;
bool if2=if_prime(val[b]);
if(!if1&&if2) Update(b,);
if(if1&&!if2) Update(b,-);
}
else printf("%d\n",Query(c)-Query(b-));
}
printf("\n");
}
return ;
}
HOJ——T 1867 经理的烦恼的更多相关文章
- HIT 1867 经理的烦恼
题目链接:http://acm.hit.edu.cn/hoj/problem/view?id=1867 每次更新时判断是否素数,如果从非素数变成素数就Update(x, 1),如果从素数变成非素数就U ...
- HOJ 1867 经理的烦恼 【 树状数组 】
题意:给出一个区间,求这个区间里面素数的个数 这道题wa了好多次---是因为add操作没有写对 每次更新的时候,应该先判断没有加上y是不是质数,加上了y是不是质数 如果从质数变成不是质数,那么add( ...
- HOJ1867 经理的烦恼
My Tags (Edit) Source : HCPC 2005 Spring Time limit : 2 sec Memory limit : 32 M Submitted : ...
- 推荐一本写给IT项目经理的好书
原文地址:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html (防止原文作者删除.只能拷贝一份了) 推荐一本写给IT项目经理的好书 ...
- 《Mysql 公司职员学习篇》 第一章 小A的烦恼
第一章 小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...
- BZOJ 3280: 小R的烦恼 & BZOJ 1221: [HNOI2001] 软件开发
3280: 小R的烦恼 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 399 Solved: 200[Submit][Status][Discuss ...
- INSPIRED启示录 读书笔记 - 第9章 产品副经理
发现帮手 从本质上讲,产品就是创意,产品经理的职责是想出好点并加以实现.我们需要好点子,有些想法是我们自己的创意,但如果仅依靠自己,就会严重限制创意的发挥 做产品要找公司最聪明的人合作,发现公司里潜在 ...
- 从备考PMP到与项目经理同呼吸
前言 PMP是什么梗? 项目管理专业人士资格认证.它是由美国项目管理协会(Project Management Institute(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证 ...
- 【热门技术】EventBus 3.0,让事件订阅更简单,从此告别组件消息传递烦恼~
一.写在前面 还在为时间接收而烦恼吗?还在为各种组件间的消息传递烦恼吗?EventBus 3.0,专注于android的发布.订阅事件总线,让各组件间的消息传递更简单!完美替代Intent,Handl ...
随机推荐
- Ubuntu系统中中文的设置
这几天心血来潮,在实习公司真的没什么事情做,在学长的推荐下就学习了一下Ubuntu系统,感觉还是挺不错的,这个系统,所以我也推荐刚开始学习liunx系统的妹子们也可以先学一下这个. 1>你可以在 ...
- vim 插件之supertab
supertab.vim 这个插件是用来把tab键作为只能补全的映射,当然,具体更能肯定不仅仅只是如此,等待以后发现吧 地址 http://github.com/ervandew/supertab h ...
- 86.express里面的app.configure作用
以下摘自 express 3.0 的 文档 app.configure([env], callback) Conditionally invoke callback when env matches ...
- spring boot 的常用注解使用 总结
附:Spring Boot 官方文档学习(一)入门及使用见https://www.cnblogs.com/larryzeal/p/5799195.html @RestController和@Reque ...
- Kali linux2.0里Metasploit的服务类型探测
不多说,直接上干货! 在MSF终端中,可以输入search name:_version命令查看所有可用的服务查点模块 该命令的执行结果如下: root@kali:~# msfconsole ..... ...
- SparkCore基础(一)
* SparkCore基础(一) 学习Spark,首先要熟悉Scala,当然你说你会Python或者Java能不能玩Spark?能!但是不推荐,首推Scala,因为Scala非常便捷,而且Scala有 ...
- 在Ubuntu上创建一个可以启动的U盘
1.概观 使用可启动的Ubuntu USB盘,您可以: 安装或升级Ubuntu 在不触及PC配置的情况下测试Ubuntu桌面体验 在借来的机器或网吧上启动到Ubuntu 使用USB盘上默认安装的工具来 ...
- bzoj1618 购买干草
Description 约翰的干草库存已经告罄,他打算为奶牛们采购日(1≤日≤50000)磅干草.他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号.第i个公司卖的干草包重量为Pi(1≤Pi ...
- vsftp迁移记录笔记
由于之前的服务器用的window下的ftp安全性和稳定性都不好,所以我们才把ftp迁移到linux环境下 vsftp概述: vsftpd 它可以运行在多平台系统上面,是一个完全免费的.开放源代码的f ...
- python异步IO-asyncio、async和await
参考链接: asyncio:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00 ...