题目:

忠诚2

来源:

Tyvj 1039

题目大意:

给出N个数,M次操作,p=1时输出(a,b)中的最小值,p=2时把第x个数改成y

数据范围:

m<=100000,n<=100000

样例:

10 3

1 2 3 4 5 6 7 8 9 10

1 2 7

2 2 0

1 1 10

2 0

做题思路:

曾经痴迷的线段树,动态起来和st比我认为还是线段树好理解

知识点:

RMQ,线段树

const MaxN=100010;typetre=recordl,r,lc,rc,min:longint;{<左右边界、左右儿子、区间最小值>}end;//tre
vartree:array[0..MaxN*4] of tre;n,m,i,j,x,a,b,root,tot,ans,p:longint;
procedure build(vart:longint;l,r:longint);{<建树>}
begininc(tot);t:=tot;tree[t].l:=l;tree[t].r:=r;tree[t].min:=maxlongint;ifl<r thenbeginbuild(tree[t].lc,l,(l+r)div 2);build(tree[t].rc,(l+r)div 2+1,r);end;//if
end;
function min(a,b:longint):longint;
beginifa>b then exit(b);exit(a);
end;
procedure insert(t,i:longint);{<插入>}
beginift=0 then exit;iftree[t].l=tree[t].r thenbegintree[t].min:=x;exit;end;iftree[tree[t].lc].r>=i then insert(tree[t].lc,i)else insert(tree[t].rc,i);tree[t].min:=min(tree[tree[t].lc].min,tree[tree[t].rc].min);{<维护区间最小值>}
end;
procedure find(t,l,r:longint);{<查找>}
beginift=0 then exit;if(tree[t].l=l)and(tree[t].r=r) thenbeginifans>tree[t].min then ans:=tree[t].min;{<由于该区间可能跨越子树所以做下比较>}exit;end;iftree[tree[t].lc].r>=r then find(tree[t].lc,l,r)elseiftree[tree[t].rc].l<=l then find(tree[t].rc,l,r)elsebeginfind(tree[t].lc,l,tree[tree[t].lc].r);find(tree[t].rc,tree[tree[t].rc].l,r);end;
end;
beginreadln(m,n);root:=0;tot:=0; build(root,1,m);fori:=1 to m dobeginread(x);insert(root,i);end;fori:=1 to n dobeginreadln(p,a,x);ifp=1 thenbeginans:=maxlongint;{<初始化maxlongint才能更新>}find(root,a,x);write(ans,' ');endelsebegininsert(root,a);{<改变第x个数为y也就是把y插入到x位置上,然后更新所涉及的子树>}end;end;
end.

题目来源: http://www.tyvj.cn:8080/Problem_Show.asp?id=1039

Tyvj 1039 忠诚2相关推荐

  1. Tyvj 1038 忠诚

    题目: 忠诚 来源: Tyvj 1038 题目大意: 给出N个数,M次询问,每次输出(a,b)中的最小值 数据范围: m<=100000,n<=100000 样例: 10 3 1 2 3 ...

  2. 洛谷 P1816 忠诚

    题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...

  3. TYVJ P1080 N皇后 Label:dfs PS:以前做的一道题,贴出来防忘

    描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 5来描 ...

  4. 【宽搜】XMU 1039 Treausure

    题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1039 题目大意: 给定n,m(1<=n,m<=1000),一张n*m的地图 ...

  5. 关于如何发现忠诚的下属的讨论

    说点我的看法,一家之言,不一定准确哈. 我觉得抛去外界的物质因素,精神因素,社会因素,来谈论忠诚,其实是不准确的.因为人是社会型的动物,且人是变化性的动物,是没有办法用简单的什么公式来推导的. 有的时 ...

  6. |Tyvj|动态规划|P1004 滑雪

    http://tyvj.cn/p/1004 由于考虑高度问题,确保每个值都算出来,这里用的是记忆化搜索. #include<cstdio> #include<cstring> ...

  7. BZOJ 3224: Tyvj 1728 普通平衡树 treap

    3224: Tyvj 1728 普通平衡树 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  8. BZOJ 3223: Tyvj 1729 文艺平衡树(splay)

    速度居然进前十了...第八... splay, 区间翻转,用一个类似线段树的lazy标记表示是否翻转 ------------------------------------------------- ...

  9. 【洛谷P1816 忠诚】线段树

    题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人的挑拨,财主还是对管家产生了 ...

最新文章

  1. 不讲码德!坏味道偷袭我这个老码农
  2. Amazon S3 功能介绍
  3. 用计算机探索,学生计算机基础的应用探索
  4. 【Elasticsearch】java 操作 Elasticsearch 7.8 索引 文档 等操作
  5. oracle+rownum(),Oracle rownum和row_number()
  6. mysql备份单实例(一)shell
  7. LabVIEW数字抽奖程序
  8. 2021-4-28 合抱之木,生于毫末,九层之台,起于垒土
  9. Gateway 网关 (二) 全局过滤器
  10. MessageBox中涉及到的宏定义
  11. 什么是敏感信息检测,敏感信息检测,安全视图 | 云效
  12. 13.2.3 VAM服务器的配置步骤及示例(2)
  13. windows远程命令执行
  14. 智能时代的内容安全,易盾是如何落地的?
  15. ios录音文件路径_iOS中录音功能
  16. 对于学习率与梯度下降的通俗总结:
  17. 多商户商城系统方案分析
  18. 哈哈哈哈~山野村夫大进展
  19. 报告发布|“双轮驱动”重磅升级,天猫联合瓴羊、罗兰贝格发布《天猫DTC企业经营指南 :以人为本,品牌致胜》
  20. JAVA中的异步调用

热门文章

  1. php ldap目录协议,PHP 通过LDAP协议,操作Windows Active Directory
  2. 风口猪炒股指标操作复盘 2021-01-20
  3. Facebook Surround 360 环境配置指南
  4. pycharm报错SyntaxError: Non-UTF-8 code starting with ‘\xdf‘ in file的一种可能的解决方式
  5. 2016年1月19日课程作业
  6. A,B两个整数集合,设计一个算法求他们的交集,尽可能的高效(牛客网)
  7. 囤书正当时,这些口碑好书值得买
  8. 3月16日——3月20日课程表
  9. CentOS7配置nexus开机自启动
  10. html 最简单的网页制作,HTML入门----简单网页制作