洛谷 P2158 仪仗队】的更多相关文章

https://www.luogu.org/problemnew/show/P2158 好像以前有个妹子收割铲也是欧拉函数. 因为格点直线上的点,dx与dy的gcd相同,画个图就觉得是欧拉函数.但是要注意对称轴还有左下角那个破点! #include<bits/stdc++.h> using namespace std; #define ll long long const int MAXN=40000+5; int phi[MAXN]; int pri[MAXN],pritop; bool n…
题目 首先我们先把题目分析一下. emmmm,这应该是一个找规律,应该可以打表,然后我们再分析一下图片,发现如果这个点可以被看到,那它的横坐标和纵坐标应该互质,而互质的条件就是它的横坐标和纵坐标的最大公约数为一,那这题的意思就变成了,在一个n * n的方格内寻找所有点的横坐标和纵坐标互质的点的个数. 但是这样复杂度肯定是过不去的.打表时间花费也是很多的,所以我们需要找到加快速度的方法,就是用欧拉函数来加快速度,所以我们就要实现大的优化,我们先明确欧拉函数是个什么东西. 欧拉函数 \(φ(x)\)…
欧拉函数入门题... 当然如果有兴趣也可以用反演做...类似这题 题意就是求,方阵从左下角出发能看到多少个点. 从0开始给坐标 发现一个点能被看到,那么横纵坐标互质. 然后求欧拉函数的前缀和,* 2 + 1即可. 注意特判. #include <cstdio> ; int p[N], phi[N], top; bool vis[N]; inline void getphi(int b) { phi[] = ; ; i <= b; i++) { if(!vis[i]) { p[++top]…
洛谷题目链接:[SDOI2008]仪仗队 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图). 现在,C君希望你告诉他队伍整齐时能看到的学生人数. 输入输出格式 输入格式: 共一个数N 输出格式: 共一个数,即C君应看到的学生人数. 输入输出样例 输入样例#1: 4 输出样例#1: 9 说明 [数据规模和约定] 对于 100% 的数据,1 ≤ N…
本文搬自本人洛谷博客 题目 本文进行了一定的更新 优化了 Markdown 中 Latex 语句的运用,加强了可读性 补充了"我们仍不曾知晓得 消失的 性质5 ",加强了推导的严谨性 介于使用了新的推导方法,调整了推导顺序 补充了关于线性筛的欧拉函数性质8 又又又又又 修改了部分错误(工程量太大,老是出错) 安利了 3b1b 的链接,虽然与本文章无关,但对我们的思维提升很有利 将欧拉函数的定义正确修改 减少了 \(ans(n)\) 推导公式的争议性,加强了推导过程的严谨性 更新了 py…
P2158 [SDOI2008]仪仗队 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图). 现在,C君希望你告诉他队伍整齐时能看到的学生人数. 输入输出格式 输入格式: 共一个数N 输出格式: 共一个数,即C君应看到的学生人数. 说明 对于 100% 的数据,1 ≤ N ≤ 40000 今天看了一天的欧拉函数,明天月考放飞自我了... 对于欧拉…
P2158 [SDOI2008]仪仗队 找规律大水题嘛,如果你做过P1170 兔八哥与猎人 这题得到的规律是$a,b,c,d$,若$gcd(a-b,c-d)==1$ 那么$a,b$就能看到$c,d$ 显然这题暴力枚举$O(n^2)$是过去的,然后有了规律,那么这题也就是要求$\sum_{i=1}^{n} \varphi i$ 据说线性筛可以筛欧拉函数,来瞧一瞧 首先根据欧拉函数通式$\varphi(x)=x\prod\limits_{i=1}^{n}{(1-\frac{1}{p_i})}$ 其中…
题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图). 现在,C君希望你告诉他队伍整齐时能看到的学生人数. 输入输出格式 输入格式: 共一个数N 输出格式: 共一个数,即C君应看到的学生人数. 输入输出样例 输入样例#1: 4 输出样例#1: 9 说明 [数据规模和约定] 对于 100% 的数据,1 ≤ N ≤ 40000 看了题解,互质点对,瞬间…
https://www.luogu.org/problemnew/show/P2158 以人所在位置为(0,0)建立坐标系, 显然除了(0,1)和(1,0)外,可以只在坐标(x,y)的gcd(x,y)==1时统计贡献..因为如果gcd(x,y)==g而g不等于1,那么会在(x/g,y/g)处统计贡献 1要特判.. #include<cstdio> #include<algorithm> #include<cstring> #include<vector> u…
https://www.luogu.org/problem/P2158 #include<bits/stdc++.h> #define int long long using namespace std; int n,ans; int Star_Platinum(int n) { //求欧拉函数 int sum=n; ; i*i<=n; i++) ) { sum-=sum/i; ) n/=i; } ) sum-=sum/n; return sum; } signed main() { s…