https://atcoder.jp/contests/agc038/tasks/agc038_c
题意:给\(a_i\),求\(\sum_{i=1}^n\sum_{j=i+1}^nlcm(a_i,a_j)\)
题解:设\(\sum_{d|i}c_d=\frac{1}{i}\),\(O(nlogn)\)求出\(c_i\)
\(\sum_{i=1}^n\sum_{j=i+1}^nlcm(a_i,a_j)\)
\(=\sum_{i=1}^n\sum_{j=i+1}^n\frac{a_i\cdot a_j}{gcd(a_i,a_j)}\)
\(=\sum_{i=1}^n\sum_{j=i+1}^na_i\cdot a_j \cdot \sum_{d|a_i,d|a_j}c_d\)
\(=\sum_{i=1}^{ma}c_i\sum_{d|a_i,d|a_j,i<j}a_i\cdot a_j\)
总复杂度\(O(nlogn)\)

//#pragma GCC optimize(2)
//#pragma GCC optimize(3)
//#pragma GCC optimize(4)
//#pragma GCC optimize("unroll-loops")
//#pragma comment(linker, "/stack:200000000")
//#pragma GCC optimize("Ofast,no-stack-protector")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#include<bits/stdc++.h>
//#include <bits/extc++.h>
#define fi first
#define se second
#define db double
#define mp make_pair
#define pb push_back
#define mt make_tuple
//#define pi acos(-1.0)
#define ll long long
#define vi vector<int>
#define mod 998244353
#define ld long double
//#define C 0.5772156649
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define pll pair<ll,ll>
#define pil pair<int,ll>
#define pli pair<ll,int>
#define pii pair<int,int>
#define ull unsigned long long
#define bpc __builtin_popcount
#define base 1000000000000000000ll
#define fin freopen("a.txt","r",stdin)
#define fout freopen("a.txt","w",stdout)
#define fio ios::sync_with_stdio(false);cin.tie(0)
#define mr mt19937 rng(chrono::steady_clock::now().time_since_epoch().count())
inline ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
inline void sub(ll &a,ll b){a-=b;if(a<0)a+=mod;}
inline void add(ll &a,ll b){a+=b;if(a>=mod)a-=mod;}
template<typename T>inline T const& MAX(T const &a,T const &b){return a>b?a:b;}
template<typename T>inline T const& MIN(T const &a,T const &b){return a<b?a:b;}
inline ll mul(ll a,ll b,ll c){return (a*b-(ll)((ld)a*b/c)*c+c)%c;}
inline ll qp(ll a,ll b){ll ans=1;while(b){if(b&1)ans=ans*a%mod;a=a*a%mod,b>>=1;}return ans;}
inline ll qp(ll a,ll b,ll c){ll ans=1;while(b){if(b&1)ans=mul(ans,a,c);a=mul(a,a,c),b>>=1;}return ans;}using namespace std;
//using namespace __gnu_pbds;const ld pi = acos(-1);
const ull ba=233;
const db eps=1e-5;
const ll INF=0x3f3f3f3f3f3f3f3f;
const int N=1000000+10,maxn=2000000+10,inf=0x3f3f3f3f;ll a[N],b[N],c[N];
int main()
{int n,ma=0;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld",&a[i]),b[a[i]]++,ma=max(ma,(int)a[i]);ll ans=0;for(int i=1;i<=ma;i++)c[i]=qp(i,mod-2);for(int i=1;i<=ma;i++)for(int j=2*i;j<=ma;j+=i)sub(c[j],c[i]);for(int i=1;i<=ma;i++){ll te=0,p=0;for(int j=i;j<=ma;j+=i)add(te,b[j]*j%mod),add(p,b[j]*j%mod*j%mod);te=((te*te-p)%mod+mod)%mod;te=te*qp(2,mod-2)%mod;add(ans,te*c[i]%mod);}printf("%lld\n",ans);return 0;
}
/****************************************/

转载于:https://www.cnblogs.com/acjiumeng/p/11585237.html

agc38C LCMs相关推荐

  1. Analytical Chemistry | 深度学习实现高分辨率LC-MS数据中的精确峰检测

    1 研究背景 液相色谱与质谱联用(LC-MS)是代谢组学中最受欢迎的分析平台之一.尽管基于LC-MS的代谢组学应用程序种类繁多以及分析硬件的发展,但是LC-MS数据的处理仍然遇到一些问题.最关键的瓶颈 ...

  2. P3911 最小公倍数之和 (atcoder C - LCMs)(反演)

    P3911 最小公倍数之和 推式子 ∑i=1n∑j=1nlcm(ai,aj)下面的n=max(ai),ci为i在原数组中出现的次数∑i=1n∑j=1nijgcd(ij)cicj=∑d=1n1d∑i=1 ...

  3. CF1166E The LCMs Must be Large

    CF1166E The LCMs Must be Large 构造趣题 正着推其实很不好推 不妨大力猜结论 如果两两集合都有交,那么一定可以 证明: 1.显然如果两个集合没有交,一定不可以 2.否则给 ...

  4. LCMS零件同步-字符串解析

    背景 lcms系统中,零件来源于Pbom,通过读取远程文件夹下的BKM_MATERIAL_20160523023514.TXT文件,得到零件主数据(17w+). 接口定义: BKM_MATERIAL_ ...

  5. 盘企lcms php开发框架,LCMS操作 · 盘企LCMS PHP开发框架文档 · 看云

    [TOC] ### LCMS::X 错误提示页面 ``` LCMS::X($errcode, $errmsg, $go = ""); // 如果是ajax请求,不会显示错误页面,会 ...

  6. NowCoder LCMs(莫比乌斯反演)

    NowCoder LCMs Statement 给你一个长度为nnn的序列, A0,A1,-,An−1A_0,A_1,\dots,A_{n-1}A0​,A1​,-,An−1​. ∑i=0n−2∑j=i ...

  7. LCMS Code Review

    概述 lcms项目前期开发人员最多时有10人,而且时间跨度大(从开始开发到最终上线有1年).多人合作下,代码的质量也会有影响.加上大众对交付物有一些硬性要求,所以code review很有必要. 本文 ...

  8. ARC122E Increasing LCMs

    ARC122E Increasing LCMs 考虑本质,要求每次添加的值要比前面的值多一点不同的质因子,即要求 gcd⁡(lcm⁡j=1i−1(aj),ai)<ai\gcd(\operator ...

  9. 学习内容管理系统(LCMS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

    报告页数: 150 图表数: 100 报告价格:¥16800 本文研究全球与中国市场学习内容管理系统(LCMS)的发展现状及未来发展趋势,分别从生产和消费的角度分析学习内容管理系统(LCMS)的主要生 ...

最新文章

  1. 实战分析 RocketMQ事务消息
  2. 会议容易中吗_【留学评估】美国留学后就业真的和想象中的一样容易吗?
  3. python类的数组属性_python3库numpy数组属性的查看方法
  4. php注册页面 邮件回复,PHP发送邮件确认验证注册功能示例【修改别人邮件类】...
  5. 如何利用视频做动图?视频转gif动图
  6. 2021年4月12日 关于VRRP!!!
  7. C语言--求一元二次方程的根(分支)
  8. 计算机网络——模拟信号(四)
  9. 数组对象查找某一个对象
  10. 电脑 蓝屏报错:SYSTMEM SCAN AT RAISED IRQL CAUGHT IMPROPER DRIVER UNLOAD
  11. TypeError: only integer tensors of a single element can be converted to an index
  12. 周易六十四卦——屯卦
  13. 在cmd命令下imp oracle dmp文件
  14. PostgreSQL列存与行存
  15. 玩vr游戏的计算机配置要求,玩虚拟现实游戏,电脑配置必须强大如此
  16. 计算机excel求四分位数,如何在Excel中计算一组数字的百分位数和四分位数?
  17. 嵌入式智能家居项目视频监控_智能化您的视频嵌入
  18. 毕业季租房的攻略来啦
  19. 最新kali之sslyze
  20. Volley传入请求体不成功的解决方案

热门文章

  1. 竞品分析怎么做?6步完成竞品分析报告
  2. 无人机三维实景模型的应用和发展
  3. Android控制图片在屏幕内缩放和移动
  4. day03【List、Set】
  5. 铜仁一中2021高考成绩查询,贵州铜仁第一中学2021年招生录取分数线
  6. RabbitMQ:Consumers的介绍和使用
  7. VS Code 插件的开发及发布指南
  8. YOLOV5测试及训练自己的数据集
  9. dynamic web twain java免费下载及使用方法教程功能详解
  10. 新年签通用php,《转帖》个人制作 猎人TMW字符串 三系整合通用 新年快乐帖