[SDOI2008]仪仗队
来源:互联网 发布:淘宝pc端怎样装修店铺 编辑:程序博客网 时间:2024/06/06 08:34
实际上就是求Gcd(i - 1, j - 1) == 1 的 (i, j) i >= 2, j >= 2 的个数加2
i - 1 和 j - 1 互质 那不就是sigma phi(i - 1)
最后答案*2+1即可
# include <stdio.h># include <stdlib.h># include <iostream># include <algorithm># include <string.h># define IL inline# define RG register# define Fill(a, b) memset(a, b, sizeof(a))using namespace std;typedef long long ll;IL ll Read(){ RG char c = getchar(); RG ll x = 0, z = 1; for(; c < '0' || c > '9'; c = getchar()) z = c == '-' ? -1 : 1; for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + c - '0'; return x * z;}int n, ans;//Gcd(i - 1, j - 1) == 1//sigma phi(i - 1)IL int Phi(RG int x){ RG int cnt = x; for(RG int i = 2; i <= x; i++){ if(x % i) continue; while(!(x % i)) x /= i; cnt = cnt - cnt / i; } if(x > 1) cnt = cnt - cnt / x; return cnt;}int main(RG int argc, RG char* argv[]){ n = Read(); for(RG int i = 2; i <= n; i++) ans += Phi(i - 1); printf("%d\n", ans * 2 + 1); return 0;}
阅读全文
0 0
- SDOI2008 仪仗队
- SDOI2008 仪仗队
- [SDOI2008]仪仗队
- BZOJ 2818 [SDOI2008] 仪仗队
- 2190: [SDOI2008]仪仗队
- bzoj2190[SDOI2008]仪仗队
- BZOJ 2190 [SDOI2008]仪仗队
- 2190: [SDOI2008]仪仗队
- bzoj 2190: [SDOI2008]仪仗队
- BZOJ 2190: [SDOI2008]仪仗队
- Sdoi2008仪仗队题解
- [BZOJ2190][SDOI2008]仪仗队
- [BZOJ2190][SDOI2008]仪仗队
- 【SDOI2008】【BZOJ2190】仪仗队
- BZOJ2190: [SDOI2008]仪仗队
- bzoj 2190 [SDOI2008]仪仗队
- BZOJ2190: [SDOI2008]仪仗队
- 仪仗队 [Bzoj 2190,SDOI2008]
- Spring cloud系列十三 服务网关Zuul
- Mongodb大数据语法大全
- 深入分析ADO.NET中的DataSet对象
- mdb存储引擎实现
- Redis安装和自启动配置
- [SDOI2008]仪仗队
- c++new and delete
- CommonJS/AMD和EcmaScript规范简析
- VS编译——C/C++遍历库目录得到附加依赖项列表
- MONGODB大数据运维管理
- Ubuntu14.04安装redis和简单配置
- 并发编程之理解多线程假死现象的原因
- 生成中间代码实现跨工程资源加载
- 【c++】C与C++的相互调用问题&opencv list not found