问题 H: 老管家的忠诚(线段树)
问题 H: 老管家的忠诚
时间限制: 0 Sec 内存限制: 128 MB
提交: 54 解决: 21
[提交][状态][讨论版][命题人:外部导入]
题目描述
输入
输出
样例输入
10 3
1 2 3 4 5 6 7 8 9 10
1 2 7
2 2 0
1 1 10
样例输出
2 0
提示
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <map>
#include <queue>
#include<cmath>
#include <vector>
using namespace std;
typedef long long ll;
const ll maxn = <<;
const ll maxd = 1e8+;
const ll mod = ;
ll b[maxn];
ll date[maxn*-],n;
void init(ll nn)
{
n=;
while(n<nn)
{
n*=;
}
for(ll i=;i<=*n-;i++)
{
date[i]=mod;
}
}
void update(ll k,ll a)
{
k+=n-;
date[k]=a;
while(k>)
{
k=(k-)/;
date[k]=min(date[k*+],date[k*+]);
}
}
ll query(ll a,ll b,ll k,ll l,ll r)
{
if(r<=a||b<=l)
{
return mod;
}
if(a<=l&&r<=b)
{
return date[k];
}else
{
ll vl=query(a,b,k*+,l,(l+r)/);
ll vr=query(a,b,k*+,(l+r)/,r);
return min(vl,vr);
}
}
int main()
{
ll i,m,j,k,l;
scanf("%lld %lld",&j,&m);
init(j);
for(i=;i<j;i++)
{
scanf("%lld",&b[i]);
update(i,b[i]);
}
ll r,q;
for(i=;i<=m;i++)
{
scanf("%lld %lld %lld",&q,&l,&r);
if(q==)
{
update(l-,r);
b[l-]=r;
continue;
}
if(l>r)
{
swap(l,r);
}
if(l==r)
{
printf("%lld",b[l-]);
if(i<m)
{
printf(" ");
}else
{
printf("\n"); }
continue;
}
ll mm=;
printf("%lld",query(max(l-,mm),r,,,n));
if(i<m)
{
printf(" ");
}
}
return ;
}
问题 H: 老管家的忠诚(线段树)的更多相关文章
- 【原创】tyvj1038 忠诚 & 计蒜客 管家的忠诚 & 线段树(单点更新,区间查询)
最简单的线段树之一,中文题目,不翻译.... 注释讲的比较少,这已经是最简单的线段树,如果看不懂真的说明最基础的理论没明白 推荐一篇文章http://www.cnblogs.com/liwenchi/ ...
- Tyvj1038 忠诚 (线段树)
[Tyvj1038]忠诚 线段树 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是 ...
- tyvj:1038 忠诚 线段树
tyvj:1038 忠诚 Time Limit: 1 Sec Memory Limit: 131072KiBSubmit: 9619 Solved: 3287 题目连接 http://www.ty ...
- 【Tyvj1038】忠诚 线段树
题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...
- newcoder H肥猪(单调队列 / 线段树)题解
题意: 小B来到了一个异世界,成为了肥猪之王. 在这个异世界,共有n种肥猪,编号分别为1,...,n. 小B希望集齐这n种肥猪. 召集肥猪有两种方式: 1. 花费a[i]的金币召唤一只编号为i的肥猪. ...
- HDU 2795 Billboard 【线段树维护区间最大值&&查询变形】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=2795 Billboard Time Limit: 20000/8000 MS (Java/Others) ...
- hdu 2795 Billboard(线段树单点更新)
Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- CDOJ 1073 线段树 单点更新+区间查询 水题
H - 秋实大哥与线段树 Time Limit:1000MS Memory Limit:65535KB 64bit IO Format:%lld & %llu Submit S ...
- 【洛谷P1816 忠诚】线段树
题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...
随机推荐
- nginx根据url中的参数进行转发
在实际项目中,由于https安全策略,我们无法直接跳转到我们想要跳转到的地址 例如 url:https://abc.dc.com/image?url=https://vpic.video.qq.com ...
- Blender 画正四面体
正四面体打开“添加网格”菜单(Shift + A),然后选择“锥形”.将“顶点数”设置为3,将“半径1”保留为默认值1.000,将“半径2”设置为0.000.现在,将深度设置为 {根号2,约等于1.4 ...
- 20165313 《Java程序设计》第一周学习总结
教材学习内容总结 1.Java的地位 1.网络地位 2.语言地位 3.需求地位 2.Java的特点 1.简单 2.面向对象 3.平台无关 4.多线程 5.动态 3.安装JDK(重点) 注释:需修改系统 ...
- THML分组元素
学习要点: 1.分组元素总汇 2.分组元素解析 一.分组元素总汇 元素名称 说明 ...
- [工作记录] NDK: AKEYCODE_DEL not notified
https://code.google.com/p/android/issues/detail?id=42904#makechanges 我们游戏的输入系统是自己渲染(通过跨平台渲染接口)的. 首先有 ...
- jsp页面继承
功能类似 django template 中的 extends 功能 使用 1.需要下载rapid-core-4.0.jar 导入到web-inf下lib中 下载地址 http://w ...
- 使用C语言简单模拟Linux的cat程序
先给出源码 //fileio.c #include<stdio.h> #include<stdlib.h> #include<fcntl.h> void print ...
- Gravitee.io Access Management 组件
Access Management组件在Gravitee.io 主要是进行认证以及权鉴的处理,支持oauth2 以及openid connect 等协议,同时好多功能已经集成在ui 管理界面上了,还是 ...
- YII2常用知识点总结
YII2常用知识点总结 (一)总结性语句 (1)经常看看yii源码比如vendor\yiisoft\yii2\web这个目录(很重要)下的文件中的方法(这些文件中的公共方法,大致看了下基本上都可以通过 ...
- IDEA基本設置
2.界面字体大小设置 File菜单->Settings->Appearance->Override default fonts by(not recommended):Name:宋体 ...