首页 > 其他分享 >P6810 「MCOI-02」Convex Hull 凸包 题解

P6810 「MCOI-02」Convex Hull 凸包 题解

时间:2024-03-08 18:56:41浏览次数:27  
标签:02 tau ch MCOI limits 题解 sum auto define

分析

推式子题。

\[ans=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\tau(i)\tau(j)\tau(\gcd(i,j)) \]

对于 \((i,j)\),若 \(k\) 是 \((i,j)\) 的因子,则 \(k\) 一定整除 \(i,j\),所以有:

\[\\ \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\tau(i)\tau(j)\sum\limits_{k|i \land k|j} 1\]

把 \(k\) 提到外面去枚举:

\[\\ \sum\limits_{k=1}^{\min(n,m)}\sum\limits_{k|i}^{n}\sum\limits_{k|j}^{m}\tau(i)\tau(j)\]

发现每个 \(j\) 都有 \(\tau(i)\),提出来:

\[\\ \sum\limits_{k=1}^{\min(n,m)}\sum\limits_{k|i}^{n}\tau(i)\sum\limits_{k|j}^{m}\tau(j)\]

然后就有:

\[\\ \sum\limits_{k=1}^{\min(n,m)}(\sum\limits_{k|i}^{n}\tau(i)) \times (\sum\limits_{k|j}^{m}\tau(j))\]

在枚举 \(k\) 的时候可以通过暴力求出来 \(\sum\limits_{k|i}^{n}\tau(i)\) 和 \(\sum\limits_{k|j}^{m}\tau(j)\),\(\tau(x)\) 预处理就行了。复杂度 \(O(n \ln n)\)。

代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define re register
#define il inline
#define pii pair<int,int>
#define x first
#define y second
#define gc getchar()
#define rd read()
#define debug() puts("------------")

namespace yzqwq{
	il int read(){
		int x=0,f=1;char ch=gc;
		while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=gc;}
		while(ch>='0'&&ch<='9') x=(x<<1)+(x<<3)+(ch^48),ch=gc;
		return x*f;
	}
	il int qmi(int a,int b,int p){
		int ans=1;
		while(b){
			if(b&1) ans=ans*a%p;
			a=a*a%p,b>>=1;
		}
		return ans;
	}
	il auto max(auto a,auto b){return (a>b?a:b);}
	il auto min(auto a,auto b){return (a<b?a:b);}
	il int gcd(int a,int b){
		if(!b) return a;
		return gcd(b,a%b);
	}
	il int lcm(int a,int b){
		return a/gcd(a,b)*b;
	}
	il void exgcd(int a,int b,int &x,int &y){
		if(!b) return x=1,y=0,void(0);
		exgcd(b,a%b,x,y);
		int t=x;
		x=y,y=t-a/b*x;
		return ;
	}
	mt19937 rnd(time(0));
}
using namespace yzqwq;

const int N=2e6+10;
int n,m,p;
int s[N];

il void solve(){
	for(re int i=1;i<N;++i)
	for(re int j=1;j*i<N;++j)
		++s[i*j];
	n=rd,m=rd,p=rd;
	int ans=0;
	for(re int k=1;k<=min(n,m);++k){
		int s1=0,s2=0;
		for(re int w=1;w*k<=n;++w) s1=(s1+s[w*k])%p;
		for(re int w=1;w*k<=m;++w) s2=(s2+s[w*k])%p;
		ans=(ans+s1*s2%p)%p;
	}
	printf("%lld\n",ans);
	return ;
}

signed main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	int t=1;while(t--)
	solve();
	return 0;
}

标签:02,tau,ch,MCOI,limits,题解,sum,auto,define
From: https://www.cnblogs.com/harmisyz/p/18061652

相关文章

  • P9825 [ICPC2020 Shanghai R] Fibonacci
    原题链接题解直观的\(O(n)\)算法很容易想到,但是很不幸,挂了所以我们要想到\(O(1)\)的做法考虑到斐波那契数列非常有规律,所以我们找找规律奇,奇,偶,奇,奇,偶。。。code#include<bits/stdc++.h>usingnamespacestd;#definelllonglonglla[5]={0};intmain(){lln......
  • P9632 [ICPC2020 Nanjing R] K Co-prime Permutation
    原题链接题解我一开始也很困惑,然后我想要不数据范围小一点我构造看看当\(n=5\)时\(k=0\)可不可以\(k=1\)可不可以\(k=2\)可不可以然后根据直觉,\(gcd(a,a+1)\)始终为一,且一和任何数的最大公约数都为一,自己和自己的最大公约数还是自己,所以萌生了以下想法把一后面......
  • C语言0基础入门游戏辅助开发—学习笔记02
    C语言0基础入门游戏辅助开发—学习笔记02PS:这里仅作为本人学习过程中的随笔。数据类型、sizeof运算符数据类型数据类型是在关键字内的,或者说关键字包含数据类型。数据类型有哪些程序中的代码和数据都是以二进制的形式存储的,对计算机系统和硬件而言,数据类型的概念不存在,这......
  • 使用 Visual Studio 2022 直接调试 WebAPI
    参考资料https://learn.microsoft.com/zh-cn/aspnet/core/test/http-files?view=aspnetcore-8.0在没有Postman等专门软件环境下,有没有轻量的调试http方法呢?尤其是每天都要打开宇宙第一IDE的环境,其实VS本身就带了一种方式,就是创建一个http文件来完成这个工作.VisualStud......
  • 2024-03-08 leetcode写题记录
    目录2024-03-08leetcode写题记录27.移除元素题目链接题意解法179.最大数题目链接题意解法75.颜色分类题目链接题意解法2024-03-08leetcode写题记录27.移除元素题目链接27.移除元素题意给你一个数组\(nums\)和一个值\(val\),你需要原地移除所有数值等于\(val\)的元素,并......
  • 联合省选 2024
    D1T1考虑什么样的\(m\)是合法的,发现只需要\(|X-\sum_{i=0}^{m-1}x_i|+|Y-\sum_{i=0}^{m-1}y_i|\lemk\)。这里认为\(x,y\)以\(n\)为周期无限循环。把绝对值拆开,可以得到四个式子:\[\begin{cases}X+Y-\sum_{i=0}^{m-1}(x_i+y_i+k)\le0\\X-Y-\sum_{i=0}^{m-1}(x_i-y_......
  • 2024哈佛-麻省数学竞赛(HMMT)2月锦标赛 团体赛第9题
    [55](题目分数)在一个200*200的网格表的每个单元格上放置一辆汽车,它面向四个基本方向之一。在一步操作中,选择一辆前面没有汽车立即挡住的汽车,并将其向前滑动一个单元格。如果一步操作会导致汽车离开网格,则将该汽车移除。对初始放置方法的要求是,一定存在一系列操作,最终可以将所有汽......
  • 2024.03.08
       第四天所花时间(包括上课)2h代码量(行)130行博客量(篇)2篇了解到的知识点无多少新的知识点,主要是对前三天的内容进行复习,并且进行编写。            protectedvoidonCreate(BundlesavedInstanceState){super.onC......
  • 【2024-03-05】分析矛盾
    20:00黄师塔前江水东,春光懒困倚微风。桃花一簇开无主,可爱深红爱浅红?                                                 ——《江畔独步寻花·其五》唐·杜甫今天下午约......
  • CVPR2024 | Point Transformer V3: 更简单、更快、更强!
    前言 本文没有动机在注意力机制内寻求创新。相反,它专注于在点云处理的背景下克服现有的准确性和效率之间的权衡,利用scale的力量。从3D大规模表示学习的最新进展中汲取灵感,我们认识到模型性能更多地受到规模的影响,而不是复杂设计的影响。因此,本文提出了PointTransformerV3(PTv3),它......