题目链接:http://acm.hit.edu.cn/hoj/problem/view?id=1867

每次更新时判断是否素数,如果从非素数变成素数就Update(x, 1),如果从素数变成非素数就Update(x, -1)。

  1. /*HIT 1867
  2. 经理的烦恼
  3. */
  4. #include<cstdio>
  5. #include<cstring>
  6. const int N=;
  7.  
  8. int a[N],c[N],n,m,C;
  9. int prime(int num)
  10. {
  11. int i;
  12. if(num<=)return ;
  13. for(i=; i*i<=num; i++)
  14. {
  15. if(num%i==)
  16. return ;
  17. }
  18. return ;
  19. }
  20. int lowbit(int x)
  21. {
  22. return x & (-x);
  23. }
  24.  
  25. void update(int i,int m)
  26. {
  27. while(i<=C)
  28. {
  29. c[i] += m;
  30. i += lowbit(i);
  31. }
  32. }
  33. int Sum(int num)
  34. {
  35. int s =;
  36. while(num>)
  37. {
  38. s += c[num];
  39. num -= lowbit(num);
  40. }
  41. return s;
  42. }
  43. int main()
  44. {
  45. //freopen("1867.txt","r",stdin);
  46. int i,j,k,x,y,t,time=;
  47. while(scanf("%d %d %d",&C,&n,&m)!=EOF)
  48. {
  49. if(C==&&n==&&m==) break;
  50. t = prime(m);
  51. memset(c,,sizeof(c));
  52. for(i=; i<=C; i++)
  53. {
  54. if(t!=)
  55. {
  56. update(i,);
  57. }
  58. a[i]=m;
  59. }
  60. printf("CASE #%d:\n",++time);
  61. for(i=; i<n; i++)
  62. {
  63. scanf("%d %d %d",&k,&x,&y);
  64. if(k==)
  65. {
  66. int tmp = a[x];
  67. a[x]+=y;
  68. if(prime(a[x]))
  69. {
  70. if(!prime(tmp))
  71. update(x,);
  72. }
  73. else
  74. {
  75. if(prime(tmp))
  76. update(x,-);
  77. }
  78.  
  79. }
  80. else
  81. printf("%d\n",Sum(y)-Sum(x-));
  82. }
  83. printf("\n");
  84.  
  85. }
  86. return ;
  87. }

HIT 1867 经理的烦恼的更多相关文章

  1. HOJ——T 1867 经理的烦恼

    http://acm.hit.edu.cn/hoj/problem/view?id=1867 Source : HCPC 2005 Spring   Time limit : 2 sec   Memo ...

  2. HOJ 1867 经理的烦恼 【 树状数组 】

    题意:给出一个区间,求这个区间里面素数的个数 这道题wa了好多次---是因为add操作没有写对 每次更新的时候,应该先判断没有加上y是不是质数,加上了y是不是质数 如果从质数变成不是质数,那么add( ...

  3. HOJ1867 经理的烦恼

    My Tags   (Edit)   Source : HCPC 2005 Spring   Time limit : 2 sec   Memory limit : 32 M Submitted : ...

  4. 推荐一本写给IT项目经理的好书

    原文地址:http://www.cnblogs.com/cbook/archive/2011/01/19/1939060.html (防止原文作者删除.只能拷贝一份了) 推荐一本写给IT项目经理的好书 ...

  5. 《Mysql 公司职员学习篇》 第一章 小A的烦恼

    第一章  小A的烦恼 ----- 为什么学习数据库 和 如何选择数据库 小A是某公司的职员,公司数据部的员工,平常的大小工作,完全离不开EXCELL,而最近小A却越来越苦恼,不由的向好朋友小Y吐槽.小 ...

  6. BZOJ 3280: 小R的烦恼 & BZOJ 1221: [HNOI2001] 软件开发

    3280: 小R的烦恼 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 399  Solved: 200[Submit][Status][Discuss ...

  7. INSPIRED启示录 读书笔记 - 第9章 产品副经理

    发现帮手 从本质上讲,产品就是创意,产品经理的职责是想出好点并加以实现.我们需要好点子,有些想法是我们自己的创意,但如果仅依靠自己,就会严重限制创意的发挥 做产品要找公司最聪明的人合作,发现公司里潜在 ...

  8. 从备考PMP到与项目经理同呼吸

    前言 PMP是什么梗? 项目管理专业人士资格认证.它是由美国项目管理协会(Project Management Institute(PMI)发起的,严格评估项目管理人员知识技能是否具有高品质的资格认证 ...

  9. 【热门技术】EventBus 3.0,让事件订阅更简单,从此告别组件消息传递烦恼~

    一.写在前面 还在为时间接收而烦恼吗?还在为各种组件间的消息传递烦恼吗?EventBus 3.0,专注于android的发布.订阅事件总线,让各组件间的消息传递更简单!完美替代Intent,Handl ...

随机推荐

  1. C#中提供的精准测试程序运行时间的类Stopwatch

    C#中提供的精准测试程序运行时间的类Stopwatch http://www.cnblogs.com/ret00100/archive/2010/08/06/1793680.html 在需要对程序的执 ...

  2. Notes(一)

    Numerous experimental measurements in spatially complex systems have revealed anomalous diffusion in ...

  3. Java图片上传压缩处理

    所需要的jar包在:\jdk1.7.0_25\jre\lib\rt.jar里面 package util; import java.awt.Image; import java.awt.image.B ...

  4. spring jdbcTemplate源码剖析

    本文浅析 spring jdbcTemplate 源码,主要是学习其设计精髓.模板模式.巧妙的回调 一.jdbcTemplate 类结构 ①.JdbcOperations : 接口定义了方法,如 &l ...

  5. 统计php源码行

    嘿嘿,最近在提交文件,需要知道代码行数,简单记录下,由几种不同的方法进行: 1.直接在 linux 上运行下面语句即可,秒杀: find . -name "*.php" -exec ...

  6. cocos2d-x读取xml(适用于cocos2d-x 2.0以上版本号)

    为了能在cocos2d-x的文本标签中显示中文,一个是转换文件编码格式,还有一种就是读取utf-8格式的xml文件.我选择了后者,其原因大家可以去搜索一下cocos2d-x显示中文,希望可以你给答案. ...

  7. Java ServletContext 详解

    ServletContext, 是一个全局的储存信息的 空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而 servletContex ...

  8. docker no permmition problem

    resolved by: sudo docker run --privileged ....

  9. 数据结构及算法分析(0)——引论

          引论提到算法递归的概念,递归在很多算法中都会出现.所谓递归,当一个函数用它自己来定义的时候就称为递归.     递归调用有两大要素: 基准情况. 递归调用.     并非所有的数学递归函数 ...

  10. ubuntu14.04LTS更新源

    这两天一直在使用Linux系统做一些事情,但是又会有特别多的报错,其中有一个问题就是源的问题,我知道有太多太多的人写这个源更新的帖子,我现在也写一篇关于源更新的帖子,只是针对ubuntu14.04LT ...