//    hdu5317 RGCDQ
//
// 题目大意:
//
// 给定一个闭区间[l,r],定义f(x)是x的不同的质因子的个数
// 比方: 12 = 2 * 2 * 3,是两种。所以f(x) = 2,问max GCD(f[i],f[j])
// i,j在[l,r]范围内,而且i!=j.
//
// 解题思路:
//
// 首先伟大的W神发现了一个规律。就是小于等于1e6不同的素因子个数不会超过7个
// 这样。我们就行统计出在1到i这个区间内,1-7各出现了多少次。最后R-(L-1)>=2
// 说明出现了两次以上,那么最大公约数就是此时的i啦。统计一下,然后O(1)求值。
//
// 感悟:
//
// 这道题,開始想复杂了,还和大神们一起讨论线段树怎么做。然后发现当时过的队伍好多,
// 就再没往这方面想,还是J大神最后秒了这题。确实挺巧妙的。当时的我就在卖萌。哎,
// 自己不会的千千万。不,应该说我就不会什么。继续加油吧!fighting!
//
// 非常奇怪的一点是在进行埃式筛法的时候開始将isp置为0或者置为1,所花费的时间天差地别,
// 后者TLE了n发。改过来之后1100多ms过了,这里实在想不通,假设有大神可以解答我的疑惑
// 小子定当不胜感激 #include <stdio.h>
#include <string.h>
#include <algorithm>
#include <iostream>
#include <vector>
#define For(i,x,y) for (int i = (x) ;i < (y) ;i ++)
using namespace std; const int MAX_N = 1000006;
int f[MAX_N];
bool isp[MAX_N];
int p[MAX_N];
int sum[MAX_N][10];
int l,r;
int cnt;
inline void init(){
cnt = 0;
memset(isp,0,sizeof(isp));
isp[0] = isp[1] = 0; for (int i=2;i<=MAX_N;i++){
if (!isp[i]){
p[cnt++] = i;
for (long long j = (long long) i * i;j < MAX_N;j+=i){
isp[j] = 1;
}
}
}
f[1] = 0;
for (int i=2;i< MAX_N;i++){
int x = i;
f[i] = 0;
for (int j=0;j<cnt && isp[x]==1;j++){
if (x%p[j]==0){
f[i]++;
while(x%p[j]==0){
x/=p[j];
}
}
}
if (x>1)
f[i]++;
} for (int i=1;i<8;i++)
sum[1][i] = 0; for (int i=2;i<=MAX_N;i++){
for (int j=1;j<8;j++)
sum[i][j] = sum[i-1][j];
for (int j=1;j<8;j++){
if (f[i]%j==0){
sum[i][j]++;
}
}
}
} inline void solve(){
scanf("%d%d",&l,&r);
int mx = 0;
for (int i=8;i>=1;i--){
if (sum[r][i] - sum[l-1][i] >= 2){
mx = i;
break;
}
}
printf("%d\n",mx); } int main(){
int t;
init();
//freopen("1.txt","r",stdin);
scanf("%d",&t);
while(t--){ solve();
}
}

最新文章

  1. python中文编码
  2. 高级SQL语句
  3. drbd
  4. 使用phantomjs生成网站快照
  5. Linux内核高端内存 转
  6. Android新版本SDK打开旧版本项目报错解决
  7. ios9下ionic框架报[$rootScope:infdig] 10 $digest() iterations reached. Aborting!的解决办法
  8. openwrt拦截snmp报文
  9. 重要经验五:block作为属性的注意事项
  10. StackExchange.Redis学习笔记(五) 发布和订阅
  11. [Abp 源码分析]零、文章目录
  12. 《R语言入门与实践》第一章:R基础
  13. Bootstrap模态框修改出现的位置和大小
  14. 比较好的MySQL索引原理
  15. &lt;Think Python&gt;中统计文献单词的处理代码
  16. CSS-background-position百分比
  17. BAT-增加JAVA环境变量(WIN764位)
  18. CodeForces - 665D Simple Subset 想法题
  19. leetcode973
  20. 【树】Unique Binary Search Trees II

热门文章

  1. hdu 1277 AC自动机
  2. YY的GCD(bzoj 2820)
  3. 2018.8.8 Noip2018模拟测试赛(二十一)
  4. unity3d各平台通讯原生的平台API的说明
  5. Yii中的数据库事务的使用方法小结
  6. CodeForces 380.C Sereja and Brackets
  7. LeetCode OJ-- Trapping Rain Water*
  8. 深入理解Atomic原子类
  9. window下安装tensowflow
  10. 邁向IT專家成功之路的三十則鐵律 鐵律十六:IT人交友之道-單純