【宁夏区域赛】G.Pot!
题意:
给定两个操作:
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
【宁夏区域赛】G.Pot!的更多相关文章
- Infinite Fraction Path HDU 6223 2017沈阳区域赛G题题解
题意:给你一个字符串s,找到满足条件(s[i]的下一个字符是s[(i*i+1)%n])的最大字典序的长度为n的串. 思路:类似后缀数组,每次倍增来对以i开头的字符串排序,复杂度O(nlogn).代码很 ...
- hdu6223 Infinite Fraction Path 2017沈阳区域赛G题 bfs加剪枝(好题)
题目传送门 题目大意:给出n座城市,每个城市都有一个0到9的val,城市的编号是从0到n-1,从i位置出发,只能走到(i*i+1)%n这个位置,从任意起点开始,每走一步都会得到一个数字,走n-1步,会 ...
- 2018南京区域赛G题 Pyramid——找规律&&递推
先手动推出前10项,再上BM板子求出递推式 $A_n = 5A_{n-1} - 10A_{n-2} + 10A_{n-3} - 5A_{n-4} + A_{n-5}$,根据特征根理论可求出特征方程 $ ...
- 36th成都区域赛网络赛 hdoj4039 The Social Network(建图+字符串处理)
这题是某年成都区域赛网络赛的一题. 这题思路非常easy,可是从时间上考虑,不妨不要用矩阵存储,我用的链式前向星. 採用线上查询.利用map对字符串编号,由于非常方便.要推荐的朋友,事实上就是朋友的朋 ...
- 【2013南京区域赛】部分题解 hdu4802—4812
上周末打了一场训练赛,题目是13年南京区域赛的 这场题目有好几个本来应该是我擅长的,但是可能是太久没做比赛了各种小错误代码写的也丑各种warusn trush搞得人很不爽 全场题之一的1002也没有想 ...
- hdu5080:几何+polya计数(鞍山区域赛K题)
/* 鞍山区域赛的K题..当时比赛都没来得及看(反正看了也不会) 学了polya定理之后就赶紧跑来补这个题.. 由于几何比较烂写了又丑又长的代码,还debug了很久.. 比较感动的是竟然1Y了.. * ...
- ACM-ICPC 2016亚洲区域赛(沈阳站)游记(滚粗记)
首发于QQ空间和知乎,我在这里也更一下. 前言 以前高中搞竞赛的时候,经常看到神犇出去比赛或者训练之后写游记什么的,感觉萌萌哒.但是由于太弱,就没什么心情好写.现在虽然还是很弱,但是抱着享受的心情 ...
- 2019ICPC区域赛(银川)总结
2019ICPC银川 作为第一次打区域赛的我,心情异常激动,加上学校给坐飞机(事实上赶飞机很痛苦). 热身赛很难受,oj上不去,写AC自动机输入没写好.. 现场赛,开场直觉倒着看,发现签到.然后看B, ...
- ICPC 2018 焦作区域赛
// 2019.10.7 练习赛 // 赛题来源:2018 ICPC 焦作区域赛 // CF链接:http://codeforces.com/gym/102028 A Xu Xiake in Hena ...
随机推荐
- 微信小程序地图组件
index.wxml <map id="map" markers="{{markers}}" longitude="{{longitude}}& ...
- 博客之旅的开始-----什么是Python ? ? ?
1 .到底什么是Python?你可以在回答中与其他技术进行对比(也鼓励这样做). 答案下面是一些关键点: Python是一种解释型语言.这就是说,与C语言和C的衍生语言不同,Python代码在运行之前 ...
- MySql 三大知识点——索引、锁、事
作者:莫那鲁道原文:http://thinkinjava.cn/2019/03/16/2019-03-16-mysql/ 1. 索引 索引,类似书籍的目录,可以根据目录的某个页码立即找到对应的内容. ...
- Java 面向对象(九)
常用类之Random Random类位于 java.util 包中,主要用于生成伪随机数 Random类将种子数作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关 创建Random ...
- Spring Cloud Eureka源码分析 --- client 注册流程
Eureka Client 是一个Java 客户端,用于简化与Eureka Server的交互,客户端同时也具备一个内置的.使用轮询负载算法的负载均衡器. 在应用启动后,将会向Eureka Serve ...
- Spark2.x(六十):在Structured Streaming流处理中是如何查找kafka的DataSourceProvider?
本章节根据源代码分析Spark Structured Streaming(Spark2.4)在进行DataSourceProvider查找的流程,首先,我们看下读取流数据源kafka的代码: Spar ...
- RedHat离线安装Python3以及各种依赖
RedHat离线安装Python3以及各种依赖 1, yum install -y ncurses-libs zlib-devel mysql-devel bzip2-devel openssl-de ...
- Springboot单元测试Junit深度实践
Springboot单元测试Junit深度实践 前言 单元测试的好处估计大家也都知道了,但是大家可以发现在国内IT公司中真正推行单测的很少很少,一些大厂大部分也只是在核心产品推广单测来保障质量,今天这 ...
- 【spring源码分析】@Value注解原理
class org.springframework.context.support.PropertySourcesPlaceholderConfigurer 该类实现了的接口:1.org.spring ...
- freemarker null异常详解及兼容模式
在读取user的时候,因为为空,报错了,错误处的代码是这样的 <#if user> 其实准确的写法应该是 <#if user??> 如果要消除错误,需要把前端代码修后成后面这种 ...