关注
注意到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());
}
}
查看原帖
点赞 评论
相关推荐
03-04 17:20
电力电子工程师 YOUXIANG:你的实习经历和你的项目对不上,搞电源的为什么不去电源厂实习。简历字有点多?单反激和PFC LLC两个项目,技术面可以问的东西都特别多,细节很多,磁性元件设计那些。
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试体验最好和最差的公司 #
7689次浏览 53人参与
# 如何提高实习转正率? #
99966次浏览 583人参与
# 厦门银行科技岗值不值得投 #
17290次浏览 413人参与
# 烂工作和没工作哪个更痛苦? #
8085次浏览 155人参与
# 重来一次,我还会选择这个专业吗 #
444825次浏览 3947人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
3346次浏览 55人参与
# 春招至今,你收到几个面试了? #
17451次浏览 277人参与
# 现在入门AI首先要做什么? #
1718次浏览 51人参与
# AI替代不了什么? #
6995次浏览 104人参与
# 一人分享一个skill #
1386次浏览 38人参与
# 银行笔面经互助 #
190337次浏览 1313人参与
# Agent面试会问什么? #
5886次浏览 141人参与
# 总结:offer选择,我是怎么选的 #
280912次浏览 1552人参与
# 有必要和同事成为好朋友吗? #
44002次浏览 439人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
10860次浏览 56人参与
# 学历VS实习,哪个更重要? #
19522次浏览 260人参与
# 选完offer后,你后悔学本专业吗 #
68036次浏览 267人参与
# 面试线索爆料 #
123926次浏览 689人参与
# 职场吐槽大会 #
345206次浏览 2275人参与
# 如果实习可以转正,你会不会放弃秋招 #
969493次浏览 6875人参与
# 机械人,你的秋招第一份简历被谁挂了 #
261152次浏览 2435人参与
查看25道真题和解析