首页 > 其他分享 >3rd 2022/5/9 题目总结·数论篇·欧拉函数·【SDOI2008】仪仗队

3rd 2022/5/9 题目总结·数论篇·欧拉函数·【SDOI2008】仪仗队

时间:2022-09-23 19:24:47浏览次数:49  
标签:prime 3rd 仪仗队 int 40001 2022 ans SDOI2008 欧拉

原题

作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N 的方阵,为了保证队伍在行进中整齐划一,C 君会跟在仪仗队的生后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。 现在,C 君希望你告诉他队伍整齐时能看到的学生人数。

1<=n<=40000

  img

概要

依图

思路

依图发现:能被看到的点(a,b),中,$\gcd(a-1,b-1)=1$

所以,要求的便是1至n-1中,互质的数对数+3(图中上和右两个,并不满足该规律,因为a和b分别为1,而不选右上点是方便计数,因为会重复)

$O(n^2)$不可行,考虑欧拉函数的意义,发现就是$3+2*\sum_{i=1}^{n}\varphi(i)$

欧拉函数用欧拉筛$O(n)$求

实现部分

#include<cstdio>
using namespace std;
int n,ans;
int prime[40001],len,bz[40001],f[40001];
int main(){
scanf("%d",&n);
for(int i=2;i<=40000;i++){
if(bz[i]==0){
prime[++len]=i;
f[i]=i-1;
}
for(int j=1;j<=len&&prime[j]*i<=40000;j++){
bz[prime[j]*i]=1;
if(i%prime[j]==0){
f[prime[j]*i]=f[i]*prime[j];
break;
}
else{
f[prime[j]*i]=f[i]*(prime[j]-1);
}
}
}
for(int i=1;i<n;i++){
ans+=f[i];
}
ans*=2;
ans+=3;
printf("%d",ans);
}
 

 

标签:prime,3rd,仪仗队,int,40001,2022,ans,SDOI2008,欧拉
From: https://www.cnblogs.com/tlz-place/p/16723931.html

相关文章

  • 4th 2022/5/25 算法总结 哈希篇
    开头的话这个算法,并不像大部分其它的算法那样,逻辑正确后,时间复杂度一般都是较稳定的,哪怕是最高和最低之间也没差多少但哈希不一样,它时间复杂度较不稳定,虽然可以通过特殊......
  • 【2022-09-21】辛苦20年
    20:00这个岁月,你不跟它相处,它也要过,它就不由你分说,一秒一秒地都走掉了。所以你必须跟时间相处好。                      ......
  • 【2022-09-20】连岳摘抄
    23:59我们可以否认一样东西,但不一定非得诋毁它,或者剥夺别人相信的权利。                              ......
  • Lightroom Classic2022(Lr2022)mac/win
    一款以后期制作为重点的图形工具软件LightroomClassic2022简称Lr2022,其增强的校正工具、强大的组织功能以及灵活的打印选项可以帮助您加快图片后期处理速度,将更多的时间投......
  • 【行列式】交易(省选模拟Day3)(2022.9.23)
    交易Orzcyr【问题描述】给定n点m边有向无环图,其中没有入度的点被视为源点,没有出度的点被视为汇点。保证源点和汇点数目相同。考虑所有把源汇点两两配对,用两两点不......
  • JavaWeb--MySQL约束、数据库设计、多表查询、事务--2022年9月22日
    第一节  约束1、概念A、约束是什么约束是作用于表中列上的规则,用于限制加入表的数据约束的存在保证了数据库中数据的正确性、......
  • 报告分享|2022汽车行业数字化转型白皮书
    全文链接:http://tecdat.cn/?p=28703受疫情影响,消费者购车行为偏好发生变化,以数字化、智能化手段洞察用户、进行精细化运营,以驱动汽车消费需求增长,成为车企迫在眉睫的诉求......
  • 报告分享|2022年区块链基础设施研究报告
    全文链接:http://tecdat.cn/?p=287011. 区块链基础设施是由具有广泛接入能力、公共服务能力、可灵活部署的公共链网,及连接这些区块链的跨链系统组成的网络服务设施。当前,......
  • 2022杭电多校9
    J.SumPlusProduct题意:给定一个长度为n的数组,每次随机拿出两个数使其变成(a+b+a*b)再放回数组,最终数组中只剩下一个数,求剩余数字的期望是多少。分析:模拟一下......
  • Pycharm2022.1.3安装教程(免费)
    pycharm的下载安装及使用以我的Pycharm2022.1.3为例首先去官网下载professtional(专业版)版本2022.1.3版本Pycharm软件https://www.jetbrains.com/pycharm/我们下载......