BZOJ5042: LWD的分科岛
【传送门:BZOJ5042】
简要题意:
给出n个数,q个询问,每个询问输入opt,l,r,如果opt=1,则输出l到r中的最小值,否则输出最大值
题解:
直接上ST表,自信一波,结果
MLE??好吧,离线求,最大最小值用一个数组求
TLE???好吧,看讨论,询问的范围1000左右,好,缩一波时间
RE????好吧,不预处理2的次方,直接位运算
AC??好吧,ok了
参考代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
inline int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-') f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
int m[][];
int Log[];
struct question
{
int l,r,opt,d;
}q[];
int main()
{int n=read(),Q=read();
for(int i=;i<=n;i++)
{
int x=read();
m[][i]=x;
}
Log[]=-;for(int i=;i<=n;i++) Log[i]=Log[i>>]+;
for(int i=;(<<i)<=n&&i<=;i++)
{
for(int j=;j<=n;j++)
{
if(j+(<<i)-<=n)
{
m[i][j]=min(m[i-][j],m[i-][j+(<<(i-))]);
}
else break;
}
}
for(int i=;i<=Q;i++) q[i].opt=read(),q[i].l=read(),q[i].r=read();
for(int i=;i<=Q;i++)
{
int opt=q[i].opt,l=q[i].l,r=q[i].r;
if(q[i].opt==)
{
int t=Log[r-l+];
q[i].d=min(m[t][l],m[t][r-(<<t)+]);
}
}
for(int i=;(<<i)<=n&&i<=;i++)
{
for(int j=;j<=n;j++)
{
if(j+(<<i)-<=n)
{
m[i][j]=max(m[i-][j],m[i-][j+(<<(i-))]);
}
else break;
}
}
for(int i=;i<=Q;i++)
{
int opt=q[i].opt,l=q[i].l,r=q[i].r;
if(q[i].opt==)
{
int t=Log[r-l+];
q[i].d=max(m[t][l],m[t][r-(<<t)+]);
}
}
for(int i=;i<=Q;i++) printf("%d\n",q[i].d);
return ;
}
BZOJ5042: LWD的分科岛的更多相关文章
- BZOJ 3894: 文理分科 [最小割]
3894: 文理分科 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 674 Solved: 392[Submit][Status][Discuss] ...
- Bzoj3894 文理分科
Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 667 Solved: 389 Description 文理分科是一件很纠结的事情!(虽然看到这个题 ...
- ArcEngine 岛状多边形内部环的获取
ArcEngine岛状多边形获取其内部环 查阅了帮助文档相关接口,内部环的获方法get_InteriorRingBag() 需要外部环作为参数.而外部环可以直接通过ExteriorRingBag属性获 ...
- 屠蛟之路_蛟灵岛战役(上)_SixthDay
乘风破浪,屠蛟少年们终于到达beta怪蛟大boss的老巢--蛟灵岛. 这是一座孤立在东海深处的荒岛,岛上黑烟缭绕.瘴气重重,屠蛟少年们一登岛,就感受到浓浓的腥味和妖气. 果然,再小心翼翼,走两步居然陷 ...
- AC日记——逃出克隆岛 (bfs)
2059 逃出克隆岛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description oi小组的yh酷爱玩魔兽rpg,每天都 ...
- LeetCode Number of Islands 岛的数量(DFS,BFS)
题意:0代表水,1代表陆地,那么被水围起来的就是岛了,给一个01矩阵,问有多少个岛? 思路:DFS还是比较短,实现了一下.如果一个点已经被遍历过了,那就将其置为0就行了,不要去搜0的. class S ...
- BZOJ 1487 无归岛
Description Neverland是个神奇的地方,它由一些岛屿环形排列组成,每个岛上都生活着之中与众不同的物种.但是这些物种都有一个共同的生活习性:对于同一个岛上的任意两个生物,他们有且仅有一 ...
- 逃出克隆岛 (codevs 2059)
较普通的走迷宫的题 传送门 :codevs 2059 逃出克隆岛 思路 :BFS 即可 PS :传送门 不必重复使用 #include <iostream> #include < ...
- bzoj1487 [HNOI2009]无归岛
Description Neverland是个神奇的地方,它由一些岛屿环形排列组成,每个岛上都生活着之中与众不同的物种.但是这些物种都有一个共同的生活习性:对于同一个岛 上的任意两个生物,他们有且仅有 ...
随机推荐
- HDU 4253 Two Famous Companies
Two Famous Companies Time Limit: 15000ms Memory Limit: 32768KB This problem will be judged on HDU. O ...
- WinServer-IIS-woff字体不显示问题
ASP.NET mvc发布到IIS之后,访问网站的时候,发现woff字体没有加载 百度发现很多博客上的教程是这样的,在IIS管理器中的MIME选项中添加类型 但是重新使用IIS发布后,新添加的字体就会 ...
- 对象不支持“abigimage”属性或方法
在一个网页中用了一个js插件, js文件引用的没有错,代码也和demo差点儿相同, 可是执行时ie的调试工具报了一个错: 解决方式: jquery文件冲突,发现原来自己引过一个 <script ...
- 开源TT框架上的日志类
public class Logger { /** * log tag */ private String tagName = "MoGuLogger";// tag name / ...
- 《鸟哥的Linux私房菜》笔记——02. 关于Linux
Unix 历史 1969年以前:伟大的梦想--Bell, MIT 与 GE 的「Multics」系统 1969年:Ken Thompson 的小型 file server system 1973年:U ...
- Python3基础笔记---序列化
1.json模块 菜鸟教程 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. import json json.dumps json ...
- 网页结构的简介和Xpath语法的入门教程
相信很多小伙伴已经听说过Xpath,之前小编也写过一篇关于Xpath的文章,感兴趣的小伙伴可以戳这篇文章如何利用Xpath抓取京东网商品信息以及Python网络爬虫四大选择器(正则表达式.BS4.Xp ...
- Reactor Cooling ZOJ - 2314 上下界网络流
Code: #include<cstdio> #include<algorithm> #include<vector> #include<queue> ...
- LightOJ-1220 Mysterious Bacteria 唯一分解定理 带条件的最大公因数
题目链接:https://cn.vjudge.net/problem/LightOJ-1220 题意 给x=y^p,问p最大多少 注意x可能负数 思路 唯一分解定理,求各素因数指数的GCD 注意负数的 ...
- HTTP 文件共享服务器工具 - chfs
CuteHttpFileServer/chfs是一个免费的.HTTP协议的文件共享服务器,使用浏览器可以快速访问.它具有以下特点: 单个文件,整个软件只有一个可执行程序,无配置文件等其他文件 跨平台运 ...