》》点击进入原题《《

思路:题解很有意思,适合线段树进阶

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;#define lson l,m,o<<1
#define rson m+1,r,o<<1|1const int maxn = 1e5 + 10;
int a[maxn], d1[maxn], d2[maxn];
int tree[maxn << 2], vis[maxn << 2];
int ans, cur;void build(int l, int r, int o){if (l == r){tree[o] = a[l];vis[o] = l;return;}int m = (l + r) >> 1;build(lson);build(rson);tree[o] = max(tree[o << 1], tree[o << 1 | 1]);if (tree[o << 1] >= tree[o << 1 | 1])vis[o] = vis[o << 1];else vis[o] = vis[o << 1 | 1];}
void query(int l, int r, int o, int ql, int qr, int k){if (l == r){if (tree[o]>k)cur = min(cur, l);return;}int m = (l + r) >> 1;if (l >= ql&&r <= qr){if (tree[o << 1] > k)query(lson, ql, qr, k);else if (tree[o << 1 | 1] > k)query(rson, ql, qr, k);return;}if (ql <= m)query(lson, ql, qr, k);if (qr > m)query(rson, ql, qr, k);
}
void query1(int l, int r, int o, int ql, int qr){if (l >= ql&&r <= qr){if (tree[o] > a[cur])cur = vis[o];return;}int m = (l + r) >> 1;if (ql <= m)query1(lson, ql, qr);if (qr > m)query1(rson, ql, qr);
}
int main(){ios::sync_with_stdio(false);int t; cin >> t;while (t--){int n, m, p, q, Max = 0;cin >> n >> m;for (int i = 1; i <= n; i++){cin >> a[i];if (a[i] > Max)d1[i] = d1[i - 1] + 1, Max = a[i];else d1[i] = d1[i - 1];}build(1, n, 1);for (int i = n; i; i--){cur = n + 1;query(1, n, 1, i, n, a[i]);if (cur > n)cur = 0;d2[i] = d2[cur] + 1;}while (m--){cin >> p >> q;ans = cur = 0;if (p != 1){query1(1, n, 1, 1, p - 1);}ans += d1[cur];if (q > a[cur])ans++;else q = a[cur];cur = n + 1;if (p != n)query(1, n, 1, p + 1, n, q);if (cur <= n)ans += d2[cur];cout << ans << endl;}}
}

转载于:https://www.cnblogs.com/zengguoqiang/p/9506598.html

多校1010 Taotao Picks Apples相关推荐

  1. 2018 Multi-University Training Contest 8 1010 Taotao Picks Apples【二分】

    http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1010&cid=809 题意:求上升序列(能上升则上升无需最长),有修改 ...

  2. 【杂题总汇】HDU-6406 Taotao Picks Apples

    [HDU 6406]Taotao Picks Apples 多校赛的时候多写了一行代码就WA了--找了正解对拍,在比赛结束后17分钟AC了? ◇ 题目 +传送门+ <手写翻译> 有n个苹果 ...

  3. Taotao Picks Apples HDU - 6406

    K - Taotao Picks Apples 题目链接:HDU - 6406 题意:树上有一排苹果,每个苹果又同的高度,taotao要摘苹果,而且必须从第一个苹果开始摘,然后没遇到一个高度比之前摘得 ...

  4. HDU 6406 Taotao Picks Apples(前缀和+二分)

    HDU 6406 Taotao Picks Apples(前缀和+二分) Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 131072/131 ...

  5. hdu - 6406 Taotao Picks Apples(离线+离散+技巧)

    题目链接:Taotao Picks Apples 题目大意:有n个数,m个操作,每个操作x,q,将x位的数字改为q,输出改完数后数组的递增序列有多长(只能从第一个数开始找,并且必须依次找更大的数). ...

  6. 多校 hdu 6406 Taotao Picks Apples(线段树)

    设d1[ i ]为从a1开始到 ai 的最长递增子序列长度,设d2[ i ]为从ai开始到an的最长递增子序列长度,假设要把ap改为q,可以把序列分为1到p-1和p+1到n两段,可以用线段树找到1到p ...

  7. hdu 6406 Taotao Picks Apples 线段树

    hdu 6406 多校八第十题,设d1[ i ]为从a1开始到 ai 的最长递增子序列长度,设d2[ i ]为从ai开始到an的最长递增子序列长度,假设要把ap改为q,可以把序列分为1到p-1和p+1 ...

  8. 【hdu 6406】Taotao Picks Apples

    [链接] 我是链接,点我呀:) [题意] 题意相当于问你改变一个位置之后. 从左往右扫描最大值.这个最大值会改变多少次. [题解] 假设我们改变的是i这个位置,下面说的a[i]都是改成q之后的a[i] ...

  9. HDU - 6406 Taotao Picks Apples(线段树区间合并)

    题目链接:点击查看 题目大意:给出一个长度为 n 的数列 a,再给出 m 次询问,每次询问假设如果设置 a[ pos ] = val 的话,那么此时序列中的最长上升子序列是多少,此时的上升子序列指的是 ...

最新文章

  1. asyncdata 获取参数_载入页面初始数据(asyncData)《 Nuxt.js:异步数据 》
  2. 敏捷开发的角色和职责阐述
  3. Deepin、Debian、Ubuntu恢复误删除的/var/lib/dpkg
  4. python unit test 访问开发代码_python unittest 源码分析
  5. Java写入磁盘阵列_月光软件站 - 编程文档 - Java - 利用Linux创建磁盘阵列
  6. git仓库的基本用法
  7. 【Pytorch神经网络理论篇】 16 过拟合问题的优化技巧(三):批量归一化
  8. Can’t Activate Reporting Services Service in SharePoint
  9. 【仿59store校园o2o系统 v6.8】夜猫店+校园超市+学生街+微信公众号绑定+校园跑腿插件
  10. HTML5文档查看器PrizmDoc发布v13.0,新增文档比较功能
  11. 金融销售关键在于客户感受
  12. 你可以对计算机进行设置 这样用户,win10登陆界面设置 win10登陆界面壁纸
  13. .NET in China - What's New in .NET
  14. 文件正在使用,操作无法完成,因为文件已在...中打开
  15. 计算机科学 院士 高校,快报!第5轮学科评估计算机科学与技术评委会名单,看有谁上榜了...
  16. 汇编——Masm使用及程序结构
  17. fluent里常见基础问题(转)
  18. [最小割最大流 || 最短路] roadblock Dinic SPFA + SLE
  19. Python数据可视化 Pyecharts 制作 Sunburst 旭日图
  20. h5中performance.timing轻松获取网页各个数据 如dom加载时间 渲染时长 加载完触发时间...

热门文章

  1. HTML基础:文本列表实例2(9)
  2. U-Boot 提供的基本命令
  3. Linux系统CentOS下mysql的安装日志
  4. 类型、值和变量(一)
  5. Phoenix Tips (12) 跟踪 Tracing
  6. WCF-Discovery的协议基础:WS-Disvovery(客户端驱动探测服务)
  7. 2011.8.2号面试
  8. Windows下的网卡Teaming
  9. 一些计算机知识的总结(转)
  10. 【SDOI2008】Sandy的卡片(后缀数组)