2749: [HAOI2012]外星人

Time Limit: 3 Sec  Memory Limit: 128 MB
Submit: 568  Solved: 302
[Submit][Status][Discuss]

Description

Input

Output

输出test行,每行一个整数,表示答案。

Sample Input

1
2
2 2
3 1

Sample Output

3

HINT

Test<=50 Pi<=10^5,1<=Q1<=10^9

Source

很好的一道题。

就是要求能phi出多少个2。。。

奇数时要加一(就是刚开始的时候变成偶数时要用一次。)

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define MAXN 100000
  4. #define LL long long
  5. int prime[],phi[MAXN+],tot,f[MAXN+];
  6. bool vis[MAXN+];
  7. int read()
  8. {
  9. int s=,fh=;char ch=getchar();
  10. while(ch<''||ch>''){if(ch=='-')fh=-;ch=getchar();}
  11. while(ch>=''&&ch<=''){s=s*+(ch-'');ch=getchar();}
  12. return s*fh;
  13. }
  14. void getEular()
  15. {
  16. int i,j;
  17. phi[]=;tot=;
  18. for(i=;i<=MAXN;i++)
  19. {
  20. if(vis[i]==false)
  21. {
  22. prime[++tot]=i;
  23. phi[i]=i-;
  24. }
  25. for(j=;j<=tot&&prime[j]*i<=MAXN;j++)
  26. {
  27. vis[prime[j]*i]=true;
  28. if(i%prime[j]==)
  29. {
  30. phi[prime[j]*i]=prime[j]*phi[i];
  31. break;
  32. }
  33. phi[prime[j]*i]=phi[prime[j]]*phi[i];
  34. }
  35. }
  36. }
  37. int main()
  38. {
  39. freopen("alien.in","r",stdin);
  40. freopen("alien.out","w",stdout);
  41. int T,i,m,p,q,n;
  42. bool flag;
  43. LL ans;
  44. T=read();
  45. getEular();
  46. memset(f,,sizeof(f));//f[i]代表i需要phi多少次才能化为1.(也就是等于能phi多少个2.)
  47. f[]=-;
  48. for(i=;i<=MAXN;i++)f[i]=f[phi[i]]+;
  49. f[]++;f[]++;
  50. while(T--)
  51. {
  52. m=read();ans=;
  53. flag=false;//判断奇数时要加一.
  54. for(i=;i<=m;i++)
  55. {
  56. p=read();q=read();
  57. if(p==)flag=true;
  58. ans+=(LL)f[p]*q;
  59. }
  60. if(flag==false)ans++;
  61. printf("%lld\n",ans);
  62. }
  63. fclose(stdin);
  64. fclose(stdout);
  65. return ;
  66. }

Bzoj 2749: [HAOI2012]外星人 欧拉函数,数论,线性筛的更多相关文章

  1. JZYZOJ1524 [haoi2012]外星人 欧拉函数

    http://172.20.6.3/Problem_Show.asp?id=1524 大概可以算一个结论吧,欧拉函数在迭代的时候,每次迭代之后消去一个2,每个非2的质因子迭代一次又(相当于)生成一个2 ...

  2. BZOJ-2190 仪仗队 数论+欧拉函数(线性筛)

    今天zky学长讲数论,上午水,舒爽的不行..后来下午直接while(true){懵逼:}死循全程懵逼....(可怕)Thinking Bear. 2190: [SDOI2008]仪仗队 Time Li ...

  3. BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 4436  Solved: 1957[Submit][Status][Discuss ...

  4. Poj 2478-Farey Sequence 欧拉函数,素数,线性筛

    Farey Sequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14291   Accepted: 5647 D ...

  5. 洛谷UVA12995 Farey Sequence(欧拉函数,线性筛)

    洛谷题目传送门 分数其实就是一个幌子,实际上就是求互质数对的个数(除开一个特例\((1,1)\)).因为保证了\(a<b\),所以我们把要求的东西拆开看,不就是\(\sum_{i=2}^n\ph ...

  6. 欧拉函数(线性筛)(超好Dong)

    欧拉函数:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) . #include <bits/stdc++.h> using namespace std; cons ...

  7. BZOJ2186 [Sdoi2008]沙拉公主的困惑 【数论,欧拉函数,线性筛,乘法逆元】

    2186: [Sdoi2008]沙拉公主的困惑 Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 5003  Solved: 1725 [Submit] ...

  8. [bzoj2226][Spoj5971]LCMSum_欧拉函数_线性筛

    LCMSum bzoj-2226 Spoj-5971 题目大意:求$\sum\limits_{i=1}^nlcm(i,n)$ 注释:$1\le n\le 10^6$,$1\le cases \le 3 ...

  9. 【BZOJ2749】【HAOI2012】外星人[欧拉函数]

    外星人 Time Limit: 3 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description Input   Output 输出te ...

随机推荐

  1. SCNU省选校赛第二场B题题解

    今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...

  2. ASP.NET缓存 Cache

    缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多 ...

  3. WPF页面跳转

    WPF页面跳转有两种:一种是windows,另外一种是page  1:windows页面跳转windows 页面跳转相信学过winform编程的哥们都知道,先实例化该窗体然后show一下就可以了.eg ...

  4. oracle 查看表的定义

    select t.table_name 表名, c.comments 字段名称, t.column_name 字段编码, t.data_type || '(' || to_char(t.data_le ...

  5. python【第二十篇】Django表的多对多、Ajax

    1 创建多对多表的方式有两种 1.1 方式一:自定义关系表 class Host(models.Model): nid = models.AutoField(primary_key=True) hos ...

  6. NDK_ROOT找不到的解决方法 MACOS

    只要在Eclipse上进行配置就行了,看图说话  

  7. asp.net mvc 发送邮箱验证码

    public ActionResult Index() { /*第一种,利用Google的smtp来发送邮件*/ SmtpClient client = ); Random Rdm = new Ran ...

  8. 在 IIS MIME 类型中添加 md 扩展名

    最近在了解 Knowledge Base (知识库)的内容,对两个平台比较感兴趣,一个是 Raneto,一个是 MDwiki,两者都是使用md文件作为内容存储. 需要注意的是,使用IIS部署网站后,需 ...

  9. php自学笔记1

    PHP(Personal Home Page的缩写,现已更名Hypertext Preprocessor“超文本预处理器”)静态web开发:html,内容一成不变动态web开发: php(Zend). ...

  10. App - 版本控制

    /**  版本判断 ***/ NSString *versionKey = @"CFBundleVersion"; // 上一次使用版本号(存储在沙盒中的版本号) NSString ...