正题

题目链接:https://www.luogu.com.cn/problem/P2714


题目大意

给出nnn个数,求有多少个(i,j,k,l)(i,j,k,l)(i,j,k,l)使得gcd(ai,aj,ak,al)=1gcd(a_i,a_j,a_k,a_l)=1gcd(ai​,aj​,ak​,al​)=1。


解题思路

我们设fif_ifi​表示gcdgcdgcd和为iii的方案数。FiF_iFi​表示gcdgcdgcd和为iii的倍数的方案数。

先考虑如何统计FiF_iFi​,其实就是选出444个iii的倍数的方案数,可以统计iii的倍数的个数即可计算。

然后有fi=Fi−∑i∣jfjf_i=F_i-\sum_{i|j}f_jfi​=Fi​−i∣j∑​fj​

时间复杂度O(Tnlog⁡n)O(Tn\log n)O(Tnlogn)


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=11000;
ll n,f[N];
int main()
{while(scanf("%lld",&n)!=EOF){memset(f,0,sizeof(f));for(ll i=1;i<=n;i++){ll x;scanf("%lld",&x);f[x]++;}for(ll i=1;i<N;i++)for(ll j=i<<1;j<N;j+=i)f[i]+=f[j];for(ll i=N-1;i>=1;i--){f[i]=f[i]*(f[i]-1)*(f[i]-2)*(f[i]-3)/24;for(ll j=2*i;j<N;j+=i)f[i]-=f[j];}printf("%lld\n",f[1]);}
}

P2714-四元组统计【数论,容斥】相关推荐

  1. POJ 1150 The Last Non-zero Digit 数论+容斥

    POJ 1150 The Last Non-zero Digit 数论+容斥 题目地址:  POJ 1150 题意:  求排列P(n, m)后面第一个非0的数. 分析: 为了熟悉题目中的理论.我先做了 ...

  2. 数学--数论--容斥定理完全解析(转)

    对容斥原理的描述 容斥原理是一种重要的组合数学方法,可以让你求解任意大小的集合,或者计算复合事件的概率. 描述 容斥原理可以描述如下: 要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来, ...

  3. P1447-[NOI2010]能量采集【GCD,数论,容斥】

    正题 题目链接:https://www.luogu.org/problemnew/show/P1447 题目大意 求∑i=1n∑j=1mgcd(i,j)∗2−1\sum_{i=1}^n\sum_{j= ...

  4. [hdu5270]按位统计,容斥,归并

    题意:给两个序列[a, a + n), [b, b + n),求所有数(ai + bj)的异或和,i,j∈[0,n). 思路:这个题思路比较巧妙,不难但是难想到.BC上的题解讲得非常清楚了,我就直接c ...

  5. jzoj4673,CF578D-LCS again【统计,字符串,容斥】

    正题 luoguluoguluogu题目链接:https://www.luogu.org/problemnew/show/CF578D 题目大意 求有多少个字符串TTT使得其和字符串SSS的LCSLC ...

  6. [BZOJ3930][CQOI2015]选数(数论+容斥)

    首先,进行如下处理: 1.如果 L L是KK的倍数,那么把 L L变为LK\frac{L}{K},否则变为 ⌊LK⌋+1 \lfloor\frac{L}{K}\rfloor+1. 2.把 H H变成⌊ ...

  7. Educational Codeforces Round 37 G. List Of Integers (二分,容斥定律,数论)

    G. List Of Integers time limit per test 5 seconds memory limit per test 256 megabytes input standard ...

  8. 数论五之容斥——硬币购物,Gerald and Giant Chess,幸运数字,Sky Full of Stars,已经没有什么好害怕的了

    容斥的神 [HAOI2008]硬币购物 problem solution code CF559C Gerald and Giant Chess problem solution code [SCOI2 ...

  9. jzoj3059-雕塑【容斥,数论】

    正题 题目大意 n∗nn*nn∗n的矩阵,要求放nnn个雕塑,要求每行每列都只有一个雕塑,且不可以放在障碍物上.求方案总数. 解题思路 首先没有障碍物答案就是n!n!n!. 之后障碍物很少,考虑容斥. ...

最新文章

  1. json字符串中的大括号转义传到后台_json转义问题
  2. Ubuntu下C语言Debug工具GDB【1】安装和使用
  3. 拦截器HandlerInterceptor、ResponseBodyAdvice和@ExceptionHandler执行顺序
  4. Mac电脑配置Alfred、Go2shell、iTerm2+Oh My Zsh
  5. 170405、java版MD5工具类
  6. 微软CEO纳德拉恢弘计划:让开发者始终忘不了微软
  7. Linux Socket Select说明
  8. automapper自动创建映射_ASP.NET Core教程:ASP.NET Core使用AutoMapper
  9. java时间随机数_java开发代码工具类(时间戳/随机数/日期等)
  10. java对服务器进行监控_java服务器状态监控实现
  11. 手机WIFI共享 打造便携式WIFI热点
  12. 2007年中国网络游戏市场分析及投资咨询报告(上下卷)
  13. 计算机打不开guest用户,win10系统打不开guest账户的解决方法
  14. 企业生产经营相关英文及缩写之(12)--Currencies 货币代码
  15. 不撞南墙不回头-深度优先搜索算法
  16. c++课程设计图书馆管理系统总结
  17. Latex 论文引用
  18. 苹果内购开发总结(含掉单问题优化)
  19. 【视频课】10大真实金融量化交易案例,20多小时Python进阶课!
  20. 如何制作二维码?制作生成二维码的小妙招

热门文章

  1. python实现人脸识别_python人脸识别代码实现丨内附代码
  2. axios请求拦截器错误_Axios使用拦截器全局处理请求重试
  3. php的old函数,laravel单元测试之phpUnit中old()函数报错解决
  4. vue预加载动态生成runtime.js_预渲染 prerender-spa-plugin 避坑指南
  5. row number函数_Hive排名函数ROW_NUMBER,RANK 和 DENSE_RANK的区别
  6. 经纬度 c代码中定义_如何将TXT文本格式的批量经纬度值导入到奥维成为标签
  7. 递归函数斐波那契数列python_使用Python函数递归实现斐波那契数列时为什么运行速度很慢?...
  8. 机器学习之琐碎知识(代码运行问题)
  9. leetcode——面试题 17.10. 主要元素
  10. msf payload php,Metasploit(四)--Msfpayload命令