原题

题意

求 ∏ i = a b ∏ j = c d gcd ⁡ ( x i , y j ) \prod_{i=a}^b\prod_{j=c}^d\gcd(x^i,y^j) i=a∏b​j=c∏d​gcd(xi,yj)

分析

拆一下质因子。先枚举 i i i,然后 i i i相同时,用 p p p表示当前的质因数,设 x x x中有 u u u个 p p p, y y y中有 v v v个 p p p,比较一下 i ∗ u i*u i∗u和 j ∗ v j*v j∗v的大小即可。把小的乘到答案里去。定义变量 P P P来记录循环时 p p p需要乘的次数。
设 t m p tmp tmp为分割点,则 t m p = k ∗ u / v tmp=k*u/v tmp=k∗u/v。若 t m p < c tmp<c tmp<c,说明 c c c到 d d d之间 i ∗ u i*u i∗u一直小于 j ∗ v j*v j∗v,把 d − c + 1 d-c+1 d−c+1个当前的 i ∗ u i*u i∗u加入到 P P P中,若 t m p > d tmp>d tmp>d,说明 c c c到 d d d之间 i ∗ u i*u i∗u一直大于 j ∗ v j*v j∗v,等差数列把所有的j加起来乘 v v v加入到 P P P中,如果 t m p tmp tmp在 c c c和 d d d中间则说明 i ∗ u i*u i∗u和 j ∗ v j* v j∗v的大小关系并不恒定,老老实实来就行。每次循环结束时答案乘 p P p^P pP即可。
剩下就是瞎搞了。

#include<iostream>
#define ll long long
using namespace std;
const int mod=998244353;
ll qpow(ll a,ll x)
{int res=1;while(x){if(x&1)res=res*a%mod;a=a*a%mod;x>>=1;}return res;
}
int p[205],p2[205],q[205],q2[205],ln,ln2;
int main()
{int a,b,c,d,x,y;cin>>a>>b>>c>>d>>x>>y;for(int i=2;i<=x;i++){if(x%i==0)p[++ln]=i;while(x%i==0){q[ln]++;x/=i;}}for(int i=2;i<=y;i++){if(y%i==0)p2[++ln2]=i;while(y%i==0){q2[ln2]++;y/=i;}}ll ans=1;for(int i=1;i<=ln;i++){for(int j=1;j<=ln2;j++){if(p[i]==p2[j]){int u=q[i],v=q2[j];ll P=0;for(int k=a;k<=b;k++)//枚举i{ll tmp=1ll*k*u/v;if(tmp<c)P=(P+1ll*(d-c+1)*k%(mod-1)*u%(mod-1))%(mod-1);else if(tmp>d)P=(P+1ll*(d-c+1)*(c+d)/2%(mod-1)*v%(mod-1))%(mod-1);//等差数列求和else{P=(P+1ll*(tmp-c+1)*(c+tmp)/2%(mod-1)*v%(mod-1))%(mod-1);P=(P+1ll*(d-tmp)*k%(mod-1)*u%(mod-1))%(mod-1);}}ans=ans*qpow(p[i],P)%mod;}}}cout<<ans;return 0;
}

2020牛客多校E- Groundhog Chasing Death相关推荐

  1. 牛客多校9 - Groundhog Chasing Death(质因子分解+思维)

    题目链接:点击查看 题目大意:给出 a , b , c , d , x , y ,求 题目分析:因为涉及到了 gcd 的乘积运算,那么易知不同质因子的贡献是相互独立的,首先我们就可以先将 x 和 y ...

  2. 2020 牛客多校第一场

    2020 牛客多校第一场 A. B-Suffix Array 后缀数组的思想:倍增+桶排序的方式找出一串连续序列后缀的大小.虽说正常使用的时候都是字典序,但是只要修改排序方式,也能够达到一个类似的&q ...

  3. 2020牛客多校 J Easy Integration 计算过程详解【点火公式(Wallis积分)+组合数学】

    2020牛客暑期多校训练营(第一场) J Easy Integration 题 网上题解大多是 不断分部积分求解,其实有更为简洁的解法. 便是 Wallis积分(点火公式) + 组合数学 求解,本文给 ...

  4. 2020牛客多校9:B. Groundhog and Apple Tree(树形DP + 分类讨论 + 贪心)

    题目大意:有一棵苹果树,每个节点有一个苹果,吃掉 uuu 点的苹果能获得 aua_uau​点 HP,经过第 iii 条边需要消耗 wiw_iwi​ HP,在原地等待一秒可以获得 111 HP,每条边只 ...

  5. [2020牛客多校第一场]Coda的题解集

    被暴打了. 会先写比赛中过题数100+的题目,其他的以后再补. 施工中,未完待续- F Infinite String Comparision 一开始想到的是对比到lcm(|a|,|b|),意料之中T ...

  6. 2020牛客多校联赛第四场 (BFH)

    文章目录 B:Basic Gcd Problem 题目 翻译 例子 大意 思路 代码 F:Finding the Order 题目 翻译 例子 大意 思路 代码 H:Harder Gcd Proble ...

  7. 2020牛客多校第1场H-Minimum-cost Flow

    解题思路: 首先我们要从费用流mcmf的算法入手:因为它每次增广是再费用增广路上跑的,根据贪心的思想费用小的路基本上能运多少就尽量运多少,所以我们可以假设初始的边容量是1,只跑一遍mcmf.记录一下每 ...

  8. 数论分块 ---- 2020牛客多校第7场H-Dividing[思维+数论分块]

    题目大意: 解题思路:很明显满足条件的点是n%k==0∣∣n%k==1n\%k==0||n\%k==1n%k==0∣∣n%k==1 1.因为nnn是从111开始的如果一直乘以k[n=n∗k]k[n=n ...

  9. 2020牛客多校第7场C-A National Pandemic[树链剖分+思维]

    题目大意 1.首先我们看一下操作1:实际上可以说成在所有位置上加上w−dist(x,y)w-dist(x,y)w−dist(x,y),因为dist(x,x)=0dist(x,x)=0dist(x,x) ...

最新文章

  1. 智源学术顾问David Harel:经典建模与AI的联姻,如何攻破机器学习的可解释性?| 大师讲座...
  2. redis学习(四)
  3. 该工程中的宏被禁止_建筑劳务分包都能承担什么工程
  4. Java 获取文件的上级目录
  5. nth-child和蝉原则实现的奇妙随机效果(译)
  6. 计算机无法启动显示空格闪烁,我的电脑打不开怎么把硬盘格式化
  7. android 直播 h5,H5移动端直播的要点
  8. python json对比差异,更新json数据
  9. 使用sikuli测试web网页实例
  10. 在MonthCalendar控件中选中日期
  11. 瞎琢磨先生のJava笔记之读取SpringBoot配置文件的几种方式
  12. (PC+WAP)织梦模板茶几茶盘类网站
  13. MTK android系统源码修改快速上手
  14. Python breakpoint()函数
  15. 关于九宫格的一个算法,求大神助攻
  16. B-Traveling Salesman Problem[CF-Gym-102134][2016-2017 7th BSUIR Open Programming Contest]
  17. java web调用百度地图_Java web与web gis学习笔记(二)——百度地图API调用
  18. 用dw给html动态时间代码,dw中如何制作时间动态代码
  19. XML注入:实战篇--MCIR的XMLmao模块0~1
  20. cdn缓存服务器有网站图片,cdn缓存服务器上传图片

热门文章

  1. 图论 —— 弦图 —— MCS 算法
  2. Eclipse安装教程 ——史上最详细安装Java Python教程说明
  3. Pandas:细说groupby和aggregate、transform、apply以及filter
  4. 5G如何与物联网结合
  5. jinja2传递参数和html,js文件接收参数
  6. 登录计算机系统用英语怎么说,登录用英语怎么说
  7. java的定时器不能提供实时保证_Spring Boot 2 整合 QuartJob 实现定时器实时管理功能...
  8. Minicom 串口调试利器
  9. 远程连接服务器常用命令
  10. Python二进制、八进制、十六进制数字的表示和转换