//n只青蛙,每只青蛙每一步跳的步数为a[i]
//从0点开始,在一个坐标为0...m-1的环中跳
//青蛙跳的次数没有限制
//问所有的青蛙中任意一只青蛙能够达到的所有的
//坐标之和
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std  ;
const int maxn = 1e4+10 ;
typedef long long ll ;
int a[maxn] ;
int vis[maxn] ;
int num[maxn] ;
int b[maxn];
int gcd(int aa , int bb)
{if(bb==0)return aa ;return gcd(bb , aa%bb) ;
}
int init(int m)
{int len = 0 ;for(int i = 1;i <= sqrt(m);i++)if(m%i == 0){b[len++] = i ;if(i*i != m)b[len++] = m/i ;}return len ;
}
int main()
{// freopen("d:\\in.txt" , "r" , stdin) ;int t ; int cas = 0 ;scanf("%d" , &t) ;while(t--){int n ; int m ;scanf("%d%d" , &n,&m) ;memset(vis , 0 , sizeof(vis)) ;memset(num , 0 , sizeof(num)) ;int len = init(m) ;sort(b,b+len) ;for(int i = 1;i <= n;i++){scanf("%d" , &a[i]) ;int pp = gcd(a[i]  , m) ;int pos = lower_bound(b,b+len,pp)-b ;for(int i = pos;i < len;i++)if(b[i]%pp == 0){vis[i] = 1 ;}}ll ans = 0 ;for(int i = 0;i < len;i++){ll tmp ;if((tmp = vis[i]-num[i])!=0){ans += tmp*b[i]*((m-1)/b[i])*((m-1)/b[i]+1)/2 ;for(int j = i;j < len;j++)if(b[j]%b[i] == 0)num[j] += tmp ;}}printf("Case #%d: %lld\n" , ++cas , ans) ;}return  0  ;
}

hdu5514Frogs 容斥相关推荐

  1. Leetcode 552.学生出勤记录‖ 动态规划+容斥

    题目链接:传送门 可以用字符串表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤.迟到.到场).记录中只含下面三种字符: 'A':Absent,缺勤 'L':Late,迟到 'P':P ...

  2. 容斥 + 树形dp ---- 2021 icpc 沈阳 L Perfect Matchings

    题目链接 题目大意: 就是给你一个2n2n2n个点的完全图,从这个图里面抽出2n−12n-12n−1条边,这些边形成一颗树,现在问你剩下的图里面点进行完美匹配有多少种方案? 解题思路: 一开始被完美匹 ...

  3. Luogu P4336 [SHOI2016]黑暗前的幻想乡(容斥,矩阵树定理,子集反演)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Luogu P4336 [SHOI2016]黑暗前的幻想乡(容斥,矩阵树定理) Problem n≤1 ...

  4. P3175 [HAOI2015]按位或(Min - Max容斥,FMT,概率期望,全网最清晰的题解!)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://www.luogu.com.cn/problem/P3175 Prob ...

  5. hdu1695(莫比乌斯)或欧拉函数+容斥

    题意:求1-b和1-d之内各选一个数组成数对.问最大公约数为k的数对有多少个,数对是有序的.(b,d,k<=100000) 解法1: 这个能够简化成1-b/k 和1-d/k 的互质有序数对的个数 ...

  6. hdu 1796 How many integers can you find 容斥定理

    一开始看 这里 这个文章博主写得很好. 当举容斥定理的所谓 奇数为负 偶数为正的时候. 我直接就认为是 a*b 了.实际上是lcm(a,b). 由于博文中的因子都是互素的(素数之间).所以lcm(a, ...

  7. 【GDOI2016模拟3.16】幂(容斥 + 模型复杂转化)

    [GDOI2016模拟3.16]幂 \(X\in[1,A],Y\in[1,B]\),问:\(x^y\)的不用取值个数. \(A,B\)都是\(10^9\)级别. 然后我们开搞. 首先,假设一个合法的\ ...

  8. BZOJ2301:[HAOI2011]Problem b(莫比乌斯反演,容斥)

    Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数 ...

  9. HDU 6052 To my boyfriend(容斥+单调栈)

    题意:对于一个n*m的方格,每个格子中都包含一种颜色,求出任意一个矩形包含不同颜色的期望. 思路: 啊啊啊啊啊,补了两天,总算A了这道题了,简直石乐志,前面的容斥还比较好写,后面的那个>13那个 ...

最新文章

  1. Udacity机器人软件工程师课程笔记(十三)-运动学-机械手介绍及分类
  2. R语言ggplot2可视化:使用gganimate包和gapminder包为生成的动画文件gif设置尺寸、分辨率
  3. [RabbitMQ]RabbitMQ深入理解(一)进阶/管理/配置
  4. SQL注入的原理解说,挺好!
  5. 多媒体计算机属于哪种教学,多媒体计算机属于哪种教学媒体(???)。
  6. 2018.2.28(延迟加载和缓存)
  7. mysql修改表的结构_MySQL修改表结构
  8. Android上传文件至服务器(转)
  9. 拳击 武术java父类,拳击是一种很有力量的武术类型
  10. 在线求CR,你觉得我这段Java代码还有优化的空间吗?
  11. http accept字段有用吗_http协议(六)报文首部
  12. Android中文乱码彻底解决
  13. 腐蚀rust图纸怎么找_怎么解决变压器油滤油机的温差效应?在这里可以得到解决...
  14. 排序算法python实现_用Python,Java和C / C ++实现的选择排序算法
  15. 基础晶体管放大电路设计七步走
  16. iptables高性能前端优化-无压力配置1w+条规则
  17. 【汇编】更灵活的定位内存地址方式——and,or命令、SI、DI变址寄存器、直接寻址[idata]、寄存器间接寻址[bx]、寄存器相对寻址[bx+idata]、基址变址寻址、相对基址变址寻址
  18. C++——打印乘法口诀表
  19. java正则匹配英文_匹配英文句子的正则表达式
  20. Java面试题上篇(转)

热门文章

  1. 07-CBAM_block注意力机制
  2. IOS 常用开源框架
  3. 计算机无法识别读卡器怎么办,电脑读卡器读不出来怎么办
  4. 适合用于听写的新型语音识别技术 可将单词错误率低于5%
  5. 曾经由盛转衰的骈文,却引领后人在文质兼美的创作之路上坚定前行
  6. 备忘录小程序(含源码)【推荐】
  7. (二)以太坊——在私有链进行转账操作
  8. 曼德勃罗(Mandelbrot)集合与其编程实现
  9. 基于51单片机智能导盲拐杖Proteus仿真
  10. 硬件课程设计:基于STM32的多功能播放器之MP3音乐播放