BZOJ2190 [SDOI2008] 仪仗队
2016-01-22 13:44
169 查看
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190
View Code
Description
作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。 现在,C君希望你告诉他队伍整齐时能看到的学生人数。#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #define rep(i,l,r) for(int i=l; i<=r; i++) #define clr(x,y) memset(x,y,sizeof(x)) using namespace std; const int maxn = 40010; int n,cnt=0,pri[maxn],phi[maxn]; bool flag[maxn]; void get_euler(){ clr(flag,0); phi[1] = 1; rep(i,2,n){ if (!flag[i]) pri[++cnt] = i, phi[i] = i - 1; for(int j = 1; j <= cnt && i*pri[j] <= n; j++){ flag[i*pri[j]] = 1; if (i % pri[j]) phi[i*pri[j]] = phi[i] * (pri[j] - 1); else{ phi[i*pri[j]] = phi[i] * pri[j]; break; } } } } int main(){ scanf("%d",&n); get_euler(); int ans = 0; rep(i,1,n-1) ans += phi[i] << 1; printf("%d\n",ans+1); return 0; }
View Code
相关文章推荐
- 腾讯对外分享组件接口文档
- jQuery中attr()函数 VS prop()函数
- 自创点名器
- 链表排序
- document.all笔记
- dll和so文件区别与构成
- java前台传参json,后台用map或者实体对象接收
- java.lang.RuntimeException: JPedal Trial has now expired
- 网络篇-NSURLConnection进度下载
- 用 ViewPager 实现欢迎引导页面
- [Unity3D]海岛奇兵金币等资源收取效果
- uva 10303 How Many Trees?
- Amazing CSS Animation
- gsm 收发短信 打电话
- shell脚本-获取时间
- 话题: 工人重度烧伤 厂方疑暗示“安乐死”后再赔偿
- t440 安装os 10.11 笔记1(win8 os x 双系统)
- android 5.0上,阴影elevation无效的问题
- ionic学习之建立一个ionic项目
- Noi2002银河英雄传说