题意:

给定两个操作:

MULTIPLY L R x  区间里都乘以一个数x

MAX L R : 计算区间内一个2,3,5,7个数最大值。

 #include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + ;
int Max[N<<][] ;
int Add[N<<][] ; const int prime[] = { , , , }; void Push_Down( int Id , int val ){
if( Add[Id][val] ){
Add[Id << ][ val ] += Add[ Id ][ val ];
Add[Id << | ][ val ] += Add[ Id ][ val ]; Max[Id << ][ val ] += Add[ Id ][ val ];
Max[Id << | ][ val ] += Add[ Id ][ val ]; Add[Id][val] = ;
}
} void Update( int Id ,int L , int R , int x , int y , int val ){
if( x <= L && R <= y ){
Max[Id][val] ++ ;
Add[Id][val] ++ ;
return ;
}
int Mid = L + R >> ;
Push_Down( Id , val ); if( x <= Mid ){
Update( Id << , L , Mid , x , y , val );
}
if( Mid < y ){
Update( Id << | , Mid + , R , x , y , val );
} Max[Id][val] = max( Max[ Id<< ][val] , Max[ Id<< | ][val] );
} int Query( int Id , int L , int R , int x , int y ,int val ){
if( x <= L && R <= y ){
return Max[Id][val] ;
}
int Mid = L + R >> ;
int res = ; Push_Down( Id , val );
if( x <= Mid ){
res = max( res , Query( Id << , L , Mid , x , y , val ) );
}
if( Mid < y ){
res = max( res , Query( Id << | , Mid+ , R , x , y , val ) );
}
return res ;
} int main()
{
int n , Q ;
scanf("%d%d",&n,&Q);
while( Q-- ){
char s[] ;
int L , R , x , res ;
scanf("%s",s);
if( s[] == 'U' ){
scanf("%d%d%d",&L,&R,&x);
for( int i = ; i < ; i ++ ){
if( x % prime[i] == ){
while( x % prime[i] == ){
Update( , , n , L , R , i );
x /= prime[i] ;
}
}
}
}else{
scanf("%d%d",&L,&R);
res = ;
for( int i = ; i < ; i++ ){
int tmp = Query( , , n , L , R , i );
if( tmp > res ) res = tmp ;
}
printf("ANSWER %d\n",res);
}
}
return ;
}

Pot

最新文章

  1. hdu1247 Hat’s Words
  2. c#中文转全拼或首拼
  3. TaskHosting - 开发桌面工具原来还可以这么简单
  4. zoj The 12th Zhejiang Provincial Collegiate Programming Contest Beauty of Array
  5. V4L2应用程序框架--一【转】
  6. tlProPlayer for windows
  7. c# label的内容显示不全
  8. (转载)PHP isset()函数作用
  9. POJ 3581 Sequence(后缀数组)
  10. JavaEE学习路线
  11. List&lt;Object&gt;中,以Object的某一属性值为参照进行排序,选取最大记录的解决办法
  12. Object.assign()
  13. 孙子兵法的计是最早的SWOT分析,《孙子兵法》首先不是战法,而是不战之法。首先不是战胜之法,而是不败之法
  14. Linux提取不匹配字符串的行和列(awk函数)
  15. 大数据处理算法--Bloom Filter布隆过滤
  16. charles撰写工具/compose和Compose New
  17. Kudu:支持快速分析的新型Hadoop存储系统
  18. HBase学习之路 (二)HBase集群安装
  19. Bootstrap开发模板
  20. 从JSON数据中取出相关数据

热门文章

  1. 浏览器事件循环 &amp; nodejs事件循环
  2. 用户画像(User Profile)
  3. Element源码---初识框架
  4. web 视频播放器clappr 相关
  5. 微信小程序 wxs的简单应用
  6. 【转】怎么去阅读Chromium的源码?
  7. Java 动态调试技术原理及实践 【基本功】Java动态追踪技术探究
  8. Eclipse导入工程提示“No projects are found to import”
  9. _stdcallthunk
  10. git - 3.分支