不净的圣杯 SRM 20

背景

作为一张BUG级别的卡,官方打算把它修改得人畜无害一些……

虽然名字还没想好,但是能力大概是对敌方所有单位造成d点伤害,d为自己牌组中所有卡的编号的最大公约数。这无疑是一个全新的技能类型,决定一出,负责“自动编辑卡组”系统的工程师们发愁了,要如何让AI把这一鬼畜设定考虑进去呢?我们现在只能假定每张牌被编进卡组的概率是相等的,工程师们想知道d的期望值。

描述

给n个数,问随机从中挑出一些数(大于等于1个)后,挑出数字的期望gcd。输出期望值乘并对1e9+7取模后的值。

输入格式

第一行两个正整数n,m。

第二行n个不超过m的正整数。

输出格式

一个整数,期望值乘并对1e9+7取模后的值。

样例输入

3 5
1 2 3

样例输出

10

数据范围

测试点 n m
1 10
2 10
3 10
4 20
5
6
7
8
9
10

样例解释

答案为1*5+2*1+3*1=10

—————————————————————————

这题一眼看去很明显的就是莫比乌斯反演(主观臆断QAQ

g(x)就是以x为gcd的方案数(子集数)

f(x)就是以x(及x的倍数)为gcd的方案数

f(x)可以暴力求O(mlogm) 可以先求出T(x)就是以是x倍数的数的个数

f(x)=2^T(x)-1 至于莫比乌斯函数mu(x)可以线性筛 这样之后及可以求答案辣

那个乘上2^n-1其实就是为了抵消期望而已 题目就是求gcd和

#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
const int M=1e6+,mod=1e9+;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
LL ans,g[M],n,m,k,w[M],t[M];
LL ly[M],f[M],vis[M],mu[M],cnt,p[M];
void prepare(){
ly[]=; for(int i=;i<=m;i++) ly[i]=ly[i-]*%mod;
mu[]=;
for(int i=;i<=m;i++){
if(!vis[i]){p[++cnt]=i;mu[i]=-;}
for(int j=;j<=cnt&&i*p[j]<=m;j++){
vis[i*p[j]]=;
if(i%p[j]) mu[i*p[j]]=-mu[i];
else{mu[i*p[j]]=; break;}
}
}
}
int main(){
n=read(); m=read();
prepare();
for(int i=;i<=n;i++) k=read(),w[k]++;
for(int i=;i<=m;i++){
for(int j=i;j<=m;j+=i) t[i]=(t[i]+w[j])%mod;
f[i]=(ly[t[i]]-+mod)%mod;
}
for(int i=;i<=m;i++) for(int k=;k*i<=m;k++) g[i]=(g[i]+mu[k]*f[k*i]%mod)%mod;
for(int i=;i<=m;i++) ans=(ans+g[i]*i%mod)%mod;
printf("%lld\n",(ans+mod)%mod);
return ;
}

汕头市队赛SRM 20 T2不净的圣杯的更多相关文章

  1. 汕头市队赛SRM 20 T1魔法弹

    T1 背景 “主角光环已经不能忍啦!” 被最强控制AP博丽灵梦虐了很长一段时间之后,众人决定联合反抗. 魂魄妖梦:“野怪好像被抢光了?” 十六夜咲夜:“没事,我们人多.” 然后当然是以失败告终了. 八 ...

  2. 汕头市队赛SRM 20 T3 灵魂觉醒

    背景 自从芽衣.布洛妮娅相继灵魂觉醒之后,琪亚娜坐不住了.自己可是第一个入驻休伯利安号的啊!于是她打算去找德丽莎帮忙,为她安排了灵魂觉醒的相关课程. 第一天,第一节课. “实现灵魂觉醒之前,你需要先将 ...

  3. 汕头市队赛 SRM 07 D 天才麻将少女kpm

    这道题放了很久还是回来补了 D 天才麻将少女KPM SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     KPM上周叒打了n场麻将,但她这次又没控分,而且 ...

  4. 汕头市队赛 SRM 07 B 好玩的麻将

    B 好玩的麻将 SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     KPM上周又打了n场麻将,又控了分使得自己的排名是1..n的一个排列.     但她 ...

  5. 汕头市队赛 SRM 06 C 秀恩爱

    C 秀恩爱 SRM 06 背景&&描述         KPM坐在直升机上俯瞰小渔村景象.         渔村可看作二维平面,密密麻麻地到处都是单身狗,KPM当前所在坐标为(sx,s ...

  6. 汕头市队赛 SRM 06 A 撕书

    A 撕书 SRM 06 背景&&描述 游行寺汀正在杀书.         书总共有n页,每页都可以看作是一个小写英文字母,所以我们可以把书看成长度为n的字符串s.         琉璃 ...

  7. 汕头市队赛 SRM 06 B 起伏的排名

    B 起伏的排名 SRM 06 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     在上个星期她打了n场麻将,每场麻将都有n名玩家.KPM自然记得自己的n次排名.   ...

  8. 汕头市队赛 SRM 08 B

    B-3 SRM 08 描述 给长度为 n 的数列 A 和长度为 m 的数列 B,问有多少长度为 m 的数列 C 满足 输入格式 第一行俩整数 n 和 m 第二行 n 个整数 ,表示数列 A 第三行 m ...

  9. 汕头市队赛 SRM 08 C

    C-3 SRM 08 描述 给一个图,n 个点 m 条双向边,每条边有其长度.n 个点中有 k 个是特殊点,问任意两个特殊点的最短路是多少. 输入格式 第一行三个整数 n m k 第二行 k 个整数  ...

随机推荐

  1. android入门 — AlertDialog对话框

    常见的对话框主要分为消息提示对话框.确认对话框.列表对话框.单选对话框.多选对话框和自定义对话框. 对话框可以阻碍当前的UI线程,常用于退出确认等方面. 在这里主要的步骤可以总结为: 1.创建Aler ...

  2. mysql入门 — (2)

    创建表 CREATE TABLE 表名称 [IF NOT EXISTS]( 字段名1 列类型[属性] [索引] 字段名2 列类型[属性] [索引] ... 字段名n 列类型[属性] [索引] )[表类 ...

  3. jconsole工具监控java运行情况

    jconsole是jdk自带的工具.所以要先安装jdk  1.jconsole工具的路径: 通过which jconsole来查看 /usr/local/jdk1.7.0_79/bin/jconsol ...

  4. Expected Conditions的常用函数

    Expected Conditions的使用场景有两种  1.直接在断言中使用  2.与WebDriverWait配合使用,动态等待页面上元素出现或者消失 1. title_is: 判断当前页面的ti ...

  5. phpcmsv9 同时调用多个栏目的文章标签

    V9版本默认好像没有多栏目调用的标签,例如我用{pc:content action="lists" catid ="6,7,8,9,10" num=" ...

  6. Combobox的使用,日期选择器

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. QT分析之QApplication的初始化

    原文地址:http://blog.163.com/net_worm/blog/static/1277024192010097430321/ 在开始分析之前交代一下,一是分析的QT在Window平台实现 ...

  8. Jekyll 使用 Rouge 主题

    今日发现我的 Github Pages 中的代码并没有高亮,看了一下代码发现,原来的没有设置 css 样式的原因,我使用的代码高亮器是 rouge highlighter: rouge Rouge 是 ...

  9. 完全理解Python的 '==' 和 'is'

    '==' 比较的是两个对象的值 'is' 比较的是两个对象的内存地址(id) 下面我们着重理解 'is'.对于这个,我们需要知道:小整数对象池,大整数对象池,以及intern机制 小整数池:Pytho ...

  10. CF633C:Spy Syndrome 2——题解

    https://vjudge.net/problem/CodeForces-633C http://codeforces.com/problemset/problem/633/C 点击这里看巨佬题解 ...