D. Divide(math)[2021 ECNU Campus Invitational Contest]
题面如下:
题意简说:
求 ∏ i = l 2 r 2 % ∏ i = l 1 r 1 \prod_{i = l_2}^{r_2} \% \prod_{i = l_1}^{r_1} ∏i=l2r2%∏i=l1r1 是否 等于0
思路 or 题解:
r 2 ! / ( l 2 − 1 ) ∣ r 1 ! / ( l 1 − 1 ) ! r_2! / (l_2 - 1)\ |\ r_1!/(l_1-1)! r2!/(l2−1) ∣ r1!/(l1−1)!
等价
r 2 ! ∗ ( l 1 − 1 ) ! = = r 1 ! ∗ ( l 2 − 1 ) ! r_2!* (l_1-1)! == r_1! * (l_2 - 1)! r2!∗(l1−1)!==r1!∗(l2−1)!
判断 a ∣ b a | b a∣b:
只要满足: 任意一个素数 p p p, a a a包含 p p p的数量 ≥ \ge ≥ b b b 包含 p p p 的数量
就可以得出 a ∣ b a | b a∣b
官方题解
我们需要用线性筛去优化我们的代码
我们需要用前缀思想和去优化我们的代码
AC代码如下:
const int maxn = 10000009;
int prime[maxn];
bool sf[maxn];
int num = 0;
int a, b, x, y;
void sushu()
{sf[1] = 1;sf[0] = 1;for (int i = 2; i <= maxn; i++){if (!sf[i])prime[++num] = i;for (int j = 1; j <= num; j++){if (i * prime[j] > maxn)break;sf[i * prime[j]] = 1;if (i % prime[j] == 0)break;}}
}
int cal(int n, int p)
{int res = 0;while (n){res += n / p;n /= p;}return res;
}
void solve()
{cin >> a >> b >> x >> y;for (int i = 1; i <= num; i++){if (cal(y, prime[i]) - cal(x - 1, prime[i]) < cal(b, prime[i]) - cal(a - 1, prime[i])){cout << "No\n";return ;}}cout << "Yes\n";
}
int main()
{buff;sushu();int _;cin >> _;while (_--)solve();
}
D. Divide(math)[2021 ECNU Campus Invitational Contest]相关推荐
- 2019 ECNU Campus Invitational Contest
A.签到,模拟即可 #include <bits/stdc++.h> using namespace std; int main() {int x,y;char str[100];scan ...
- Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解
文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...
- KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)题解
文章目录 A - Century B - 200th ABC-200 C - Ringo's Favorite Numbers 2 D - Happy Birthday! 2 E - Patisser ...
- 2021 Jiangsu Collegiate Programming Contest部分题解
2021 Jiangsu Collegiate Programming Contest 目录 A. Spring Couplets C. Magical Rearrangement I. Fake W ...
- Gym102174 (The 14-th BIT Campus Programming Contest)
传送门: Problem A 温暖的签到题,用个map记录一下就行了. #include <bits/stdc++.h> using namespace std; string str[2 ...
- 「团队训练赛」2021 Jiangsu Collegiate Programming Contest题解
A - Spring Couplets 题目描述: 写春联,满足所需的平仄关系 如果上联的一个字是平的,那下联对应的字必须是仄的 相同的,如果上联的一个字是仄的,那下联对应的字必须是平的 而且上联的最 ...
- 2021 Jiangsu Collegiate Programming Contest——K. Longest Continuous 1
题目地址https://codeforces.com/gym/103495/problem/K 题目解析 题目 思路 代码 题目 Example: 4 1 2 3 4 output: 0 1 2 2 ...
- The 14-th BIT Campus Programming Contest(部分题解)
A. 两只脑斧 time limit per test1.0 s memory limit per test256 MB inputstandard input outputstandard outp ...
- 2021 Jiangsu Collegiate Programming Contest F. Jumping Monkey II 树剖+线段树
F. Jumping Monkey II 题意: 给你 n = 2 e 5 n=2e5 n=2e5的一棵树,每个点有点权 a [ i ] < = 1 e 9 a[i]<=1e9 a[i]& ...
最新文章
- python开发的模型部署_使用Python部署机器学习模型的10个实践经验
- hikari如何切换数据源_如何使用Spring为HikariCP设置数据源?
- python列表生成器语法_python列表生产式和生成器
- Can not find the tag library descriptor for http://java.sun.com/jsp/jstl/core
- 帆软助力惠科集团产值提升1%以上,带来上亿元数据价值
- php模块出现警告,PHP警告:模块已在第0行的Unknown中加载
- 2089. 找出数组排序后的目标下标
- selenium 示例_Selenium findElement和findElements示例
- 游戏开发之运算符重载(C++基础)
- Android性能优化系列——Performance Tips
- ipmitool源码解析(一)——一次带内ipmitool raw data发送过程
- 数字滤波器的研究背景
- toastr弹出提示窗口的使用
- ThinkPad T440屏幕关闭之后硬盘狂响的解决方案
- react路由动画切换
- PR值是什么?pr值的意义
- pg PostGIS教程:几何图形(geometry)
- 天龙八部手游服务器维护公告,天龙维护时间(天龙八部手游11月29日例行维护公告)...
- Teams app 的 SSO 机制
- 分享50个漂亮的设计师个人作品集网站案例
热门文章
- DiasyDisk MAC上一款不错的磁盘可视化清理工具
- 理解slotted page
- Android OKHttp3的使用和下载/上传图片
- docker容器杀不死_了解如何停止,杀死和清理Docker容器
- [含论文+源码等]超市积分管理系统
- C#使用iTextSharp将多张图片转一个PDF
- Optimizing the Latent Space of Generative Networks
- 橙群微电子公司被评为2022年最佳传感器奖入围者
- 凌汛 php,黄河全线开河 安度2020—2021年度凌汛期
- 四种使用quad积分函数的方法