关注
注意到N只有1000 莫比乌斯可快速求得 1-N和1-M gcd为i的个数 枚举就行了 import java.io.*;
import java.util.*;
public class Main {
static int[]prime=new int[100050];
static boolean[]notp=new boolean[100050];
static int[]mu=new int[100050];
public static void main(String[] args) {
FastScanner sc=new FastScanner();
PrintWriter pw=new PrintWriter(System.out);
int N=sc.nextInt();
int n=sc.nextInt();
int m=sc.nextInt();
int p=sc.nextInt();
makeMobius();
int[]A=new int[N+1];
A[1]=p;
for(int i=2;i<=N;i++){
A[i]=(A[i-1]+153)%p;
}
long res=0;
for(int o=1;o<=N;o++){
long min=Math.min(n,m)/o;
long max=Math.max(n,m)/o;
long count1=0;
long count2=0;
for(int i=1;i<=min;i++){
count2+=mu[i]*(min/i)*(max/i);
}
res+=A[o]*count2;
}
pw.println(res);
pw.flush();
}
static int gcd(int a,int b){
return a==0?b:gcd(b%a,a);
}
static void makeMobius() {
Arrays.fill(notp, false);
mu[1] = 1;
int pnum=0;
for (int i = 2; i < 100010; i++) {
if (!notp[i]) {
prime[++pnum] = i; mu[i] = -1;
}
for (int j = 1; prime[j]*i < 100010; j++) {
notp[prime[j]*i] = true;
if (i%prime[j] == 0) {
mu[prime[j]*i] = 0;
break;
}
mu[prime[j]*i] = -mu[i];
}
}
}
}
class FastScanner{
BufferedReader br;
StringTokenizer st;
FastScanner(){
br=new BufferedReader(new InputStreamReader(System.in));
st=new StringTokenizer("");
}
String nextLine(){
String s="";
try {
s=br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return s;
}
boolean hasNext(){
String s = "";
while(!st.hasMoreTokens()){
s=nextLine();
if(s==null)return false;
st=new StringTokenizer(s);
}
return true;
}
String next(){
String s="";
while(!st.hasMoreTokens()){
s=nextLine();
st=new StringTokenizer(s);
}
return st.nextToken();
}
int nextInt(){
return Integer.valueOf(next());
}
long nextLong(){
return Long.valueOf(next());
}
double nextDouble(){
return Double.valueOf(next());
}
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 你现在会用到哪些AI技能? #
2911次浏览 63人参与
# 为什么国企只招应届生 #
206994次浏览 1232人参与
# 未岚大陆求职进展汇总 #
5401次浏览 71人参与
# 实习在多还是在精 #
30676次浏览 221人参与
# 你的房租占工资的比例是多少? #
63511次浏览 791人参与
# 秋招踩过的“雷”,希望你别再踩 #
74228次浏览 1007人参与
# 智慧芽求职进展汇总 #
1251次浏览 5人参与
# 小马智行求职进展汇总 #
13013次浏览 49人参与
# 24届的你们现状如何了? #
98336次浏览 509人参与
# 我的求职进度条 #
68591次浏览 986人参与
# 实习下班不想学习,正常吗? #
17314次浏览 166人参与
# HR问:你期望的薪资是多少?如何回答 #
63196次浏览 635人参与
# 你见过哪些工贼行为 #
14879次浏览 85人参与
# 反问环节如何提问 #
114425次浏览 2440人参与
# 如果不考虑收入,你最想做什么工作? #
32073次浏览 184人参与
# 校招谈薪一定要知道的事 #
11748次浏览 109人参与
# 顺丰求职进展汇总 #
62720次浏览 312人参与
# 大厂VS公务员你怎么选 #
20772次浏览 329人参与
# 找工作中的小确幸 #
23750次浏览 249人参与
# 牛客租房专区 #
118429次浏览 1334人参与
# 求职遇到的搞笑事件 #
140389次浏览 852人参与
# 你觉得什么岗位会被AI替代 #
14670次浏览 161人参与