博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 758F Geometrical Progression
阅读量:5094 次
发布时间:2019-06-13

本文共 2526 字,大约阅读时间需要 8 分钟。

n == 1的时候答案为区间长度, n == 2的时候每两个数字都可能成为答案,

我们只需要考虑 n == 3的情况, 我们可以枚举公差, 其分子分母都在sqrt(1e7)以内,

然后暴力枚举就好啦。

#include
#define LL long long#define fi first#define se second#define mk make_pair#define PLL pair
#define PLI pair
#define PII pair
#define SZ(x) ((int)x.size())#define ull unsigned long longusing namespace std;const int N = 1e5 + 7;const int inf = 0x3f3f3f3f;const LL INF = 0x3f3f3f3f3f3f3f3f;const int mod = 1e9 + 7;const double eps = 1e-6;const double PI = acos(-1);int n, l, r;struct Node { int x, y; bool operator < (const Node& rhs) const { return x * rhs.y < rhs.x * y; } bool operator == (const Node& rhs) const { return x * rhs.y == rhs.x * y; }};vector
vc;int Power(int a, int b) { int ans = 1; while(b) { if(b & 1) ans = ans * a; a = a * a; b >>= 1; } return ans;}int main() { scanf("%d%d%d", &n, &l, &r); if(n > 25) { puts("0"); } else if(n == 1) { printf("%d\n", r - l + 1); } else if(n == 2) { printf("%lld\n", 1ll * (r - l + 1) * (r - l)); } else { for(int i = 1; i * i <= r; i++) { for(int j = 1; j * j <= r; j++) { if(i == j) continue; int x = i, y = j; int gcd = __gcd(x, y); vc.push_back(Node{x / gcd, y / gcd}); } } sort(vc.begin(), vc.end()); vc.erase(unique(vc.begin(), vc.end()), vc.end()); LL ans = 0; for(auto& t : vc) { LL x = t.x, y = t.y; bool flag = true; for(int i = 3; i <= n; i++) { y = y * t.y; if(y > r) { flag = false; break; } } if(!flag) continue; for(int i = 3; i <= n; i++) { x = x * t.x; if(x > 10000000LL * y) { flag = false; break; } } if(!flag) continue; int Ly = ((l - 1) / y) + 1, Ry = r / y; int Lx = ((l - 1) / x) + 1, Rx = r / x; if(Ly > Ry) continue; if(Lx > Rx) continue; if(Lx > Ry) continue; if(Rx < Ly) continue; Lx = max(Lx, Ly); Rx = min(Rx, Ry); ans += Rx - Lx + 1; } printf("%lld\n", ans); } return 0;}/*3 1 10000000*/

 

转载于:https://www.cnblogs.com/CJLHY/p/10618699.html

你可能感兴趣的文章
数据库连接字符串大全 (转载)
查看>>
java类加载和对象初始化
查看>>
对于负载均衡的理解
查看>>
django简介
查看>>
window.event在IE和Firefox的异同
查看>>
常见的js算法面试题收集,es6实现
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
Screening technology proved cost effective deal
查看>>
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>
安卓学习资料推荐-25
查看>>
Mysql数据库备份和还原常用的命令
查看>>
关于退出当前页面在火狐的一些问题
查看>>
【项目实施】项目考核标准
查看>>
spring-aop AnnotationAwareAspectJAutoProxyCreator类
查看>>