【宁夏区域赛】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 ...
随机推荐
- 使用nodejs+ harbor rest api 进行容器镜像迁移
最近因为基础设施调整,需要进行harbor 镜像仓库的迁移,主要是旧版本很老了,不想使用,直接 打算部署新的,原以为直接使用复制功能就可以,但是发现版本差异太大,直接失败,本打算使用中间 版本过度进行 ...
- Codeforces 1163E Magical Permutation [线性基,构造]
codeforces 思路 我顺着图论的标签点进去的,却没想到-- 可以发现排列内每一个数都是集合里的数异或出来的. 考虑答案的上界是多少.如果能用小于\(2^k\)的数构造出\([0,2^k-1]\ ...
- D3.js的v5版本入门教程(第四章)—— 理解Update、Enter、Exit
D3.js的v5版本入门教程(第四章) Update.Enter.Exit是D3.js中很重要的概念,下面来讲一下它们到底是什么?(当你看完后.你就会知道如果数据集个数和选择集个数不匹配的情况下使用d ...
- shell中$(( ))、$( )、``与${ }的区别
转 :shell $(( )).$( ).``与${ }的区别 $( )与` `(反引号)命令替换 在bash中,$( )与` `(反引号)都是用来作命令替换的.命令替换与变量替换差不多,都是用来重组 ...
- jeff dean的主页
https://ai.google/research/people/jeff/ 上面有他的很多论文和ppt 很不错 我于1999年中期加入Google,目前是研究小组的Google高级研究员,负责Go ...
- git pull push 所有分支
因为远端 git 服务器上有很多分支,一个个分支pull太麻烦,所以找了 pull 所有分支的方法,如下: git branch -r | grep -v '\->' | while read ...
- PHP用curl抓取网站数据,仿造IP、伪造来源等,防屏蔽解决方案教程
1.伪造客户端IP地址,伪造访问referer:(一般情况下这就可以访问到数据了) curl_setopt($curl, CURLOPT_HTTPHEADER, ['X-FORWARDED-FOR:1 ...
- Mysql关键字之Group By(一)
原文地址,优先更新https://hhe0.github.io group by 是一个我们在日常工作学习过程中经常遇到的一个Mysql关键字.现总结其用法如下,内容会不断补充,出现错误欢迎批评指正. ...
- [LeetCode] 67. Add Binary 二进制数相加
Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...
- -bash: /usr/bin/rm: 参数列表过长
解决方法: find ./ -type f -name "*.nasl"|xargs rm -f find ./ -type f -name "*.*"|xar ...