[Tjoi2016&Heoi2016]序列

Time Limit: 20 Sec  Memory Limit: 128 MB
Submit: 1006  Solved: 464
[Submit][Status][Discuss]

Description

佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他。玩具上有一个数列,数列中某些项的值

可能会变化,但同一个时刻最多只有一个值发生变化。现在佳媛姐姐已经研究出了所有变化的可能性,她想请教你
,能否选出一个子序列,使得在任意一种变化中,这个子序列都是不降的?请你告诉她这个子序列的最长长度即可
。注意:每种变化最多只有一个值发生变化。在样例输入1中,所有的变化是:
1 2 3
2 2 3
1 3 3
1 1 31 2 4
选择子序列为原序列,即在任意一种变化中均为不降子序列在样例输入2中,所有的变化是:3 3 33 2 3选择子序列
为第一个元素和第三个元素,或者第二个元素和第三个元素,均可满足要求

Input

输入的第一行有两个正整数n, m,分别表示序列的长度和变化的个数。接下来一行有n个数,表示这个数列原始的

状态。接下来m行,每行有2个数x, y,表示数列的第x项可以变化成y这个值。1 <= x <= n。所有数字均为正整数
,且小于等于100,000

Output

输出一个整数,表示对应的答案

Sample Input

3 4
1 2 3
1 2
2 3
2 1
3 4

Sample Output

3
题解:
    设a,b,c分别为位置,值,最大最小值,
    n^2 dp是十分好理解的,对于i,j(i<j)只需要满足x.b<y.c.mi && x.c.mx<y.b 即可,这样就转移 然后就n^2
    正解的话cdq可以写,对于第一维,先排序,然后对l,mid,以b为关键字排序,升序。
    然后按照x.b<y.c.mi 这个标准,将x.c.mx的位置中放入其ans,然后只需要在树状数组中一y.b去寻找最大值
    就好了,答案是最大值+当前已经有的答案。
    最后输出即可。
    代码懒得写了。

转载于:https://www.cnblogs.com/fengzhiyuan/p/7985223.html

bzoj4553 [Tjoi2016Heoi2016]序列 树状数组(区间最大值)+cqd相关推荐

  1. UESTC 1601 艾尔大停电2 二维树状数组+区间更新

    艾尔大停电2 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  S ...

  2. 树状数组 区间update/query

    Re [问题引入] 对于区间修改.区间查询这样的简单问题,打一大堆线段树确实是不划算,今天来介绍一下区间查询+区间修改的树状数组 [一些基础] 树状数组的基本知识不再介绍,请自行百度 我们假设sigm ...

  3. hdu3966 树链剖分点权模板+线段树区间更新/树状数组区间更新单点查询

    点权树的模板题,另外发现树状数组也是可以区间更新的.. 注意在对链进行操作时方向不要搞错 线段树版本 #include<bits/stdc++.h> using namespace std ...

  4. 校门外的树——树状数组+区间修改

    校门外的树 [题目分析]题目描述的是一种区间修改,看起来好像要用线段树.但是对于这种区间内部没有差别并且查询的是区间内的类别的问题,是可以转化为树状数组进行的.毕竟树状数组更加简单. 我们的关注点应该 ...

  5. hdu 1556:Color the ball(第二类树状数组 —— 区间更新,点求和)

    Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  6. HDU 4031 Attack(线段树/树状数组区间更新单点查询+暴力)

    Attack Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) Total Sub ...

  7. 树状数组区间修改和区间求和

    最一般树状数组能做到的操作是单点修改,区间求和,都是log(n)级别的.原理就是用树状数组维护a[i]的部分和. 想要做到修改区间,求单点值也很简单,用树状数组维护a[i]的差分数组d[i]的部分和既 ...

  8. Color the ball(树状数组区间更新+单点求值)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556 Color the ball Time Limit: 9000/3000 MS (Java/Ot ...

  9. 树状数组 区间加 区间求和_EXCEL统计区间个数的专属函数

    这次我们学习一个新的函数! 数字区间个数统计 如下图,要求统计四个成绩区间段的人数. 如果只统计一个区间内的人数,比如上图统计60-80分之间的人数,你会怎么办呢? 1.条件计数 =COUNTIF(B ...

最新文章

  1. GCD or LCM ---- 处理gcd和lcm同时出现的情况 1499D - The Number of Pairs
  2. 关于肥胖和美国为什么那么多胖子
  3. VB.NET 创建WORD文档
  4. 我也做了B站UP主!
  5. Tableau研学小课堂(part2)--Tableau数据源界面
  6. java.util.scanner sc_关于Java的Scanner的问题,菜鸟求各大神解答
  7. python lambda 判断_在Python的Filter中使用lambda函数时,为何达不到预期效果?
  8. php 地址获取百度经纬度,根据百度api获取一个地址的经纬度
  9. m3u8视频通用下载器
  10. TI am3352 gpio 驱动
  11. 计算机语言表达爱情,简单的表达爱情的语录摘录40句
  12. 耳麦没声音,耳麦不能说话
  13. AidLux“换脸”案例源码详解 (Python)
  14. 2021-5-25-今日收获
  15. LFWA人脸属性数据集解析
  16. SCI和SCIE, EI, ISTP 等数据库
  17. Tableau各版本更新情况
  18. C语言前驱后驱字母表示,汽车中的前置后驱(FR)、前置前驱(FF)、后置后驱(RR)、中置后驱(MR)、4轮驱动(4WD),分别为什么概念?...
  19. 计算机更改用户名并更改用户目录,如何修改用户文件夹名?
  20. 格式锂电池过放后无法充电,无法识别|救活方法

热门文章

  1. apply和call的使用
  2. 龙岗大运中心体育中心纯航拍多图32张(航拍深圳第5集)
  3. Linux--vi简介
  4. Oracle计算某日期段内排除周六日之后的天数(请假,工作日,日期型)
  5. oppo手机run的apk 无法正常启动 Caused by: java.lang.ClassNotFoundException DexPathList[ */base.apk]
  6. Blender基础入门(3):复杂建模技巧
  7. 矜持大魔王要和Faker55开!
  8. 相机照片丢失怎么恢复?1招找回“离奇失踪”的照片
  9. Wireguard服务器客户端搭建
  10. Java 定时发送邮件