BZOJ2276: [Poi2011]Temperature
n<=1000000个数,每个数的选择范围在Li到Ri<=1000000000之间,求最长能得到多长的连续不下降序列。
首先可以暴力,f[i][j]表示前i个数,最后一个数取j,然后瞎转移就好了,显然过不了。
仔细一想,转移过来的状态只有几个,用{x,y}表示一个路径,最后一个数为x,答案为y。x越大,y应该越大。而每次扫到一个新区间,要新开点的话,肯定选最小的点新开。于是就变成这样:
右边那个圈状态更新答案然后删掉,左边那个圈记y的最大值Max然后丢给{ai,Max},加进去。
区间操作用线段树???傻了吧,只有在前后操作,中间加一用全局变量瞎搞下就好啦,所以就写个单调队列嘛!
至于中间那段怎么加一可以去看NOIP2016蚯蚓。
![](/assets/blank.gif)
![](/assets/blank.gif)
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<algorithm> 5 //#include<iostream> 6 using namespace std; 7 8 int n; 9 #define maxn 1000011 10 int que[maxn],da[maxn],head,tail,a,b; 11 int main() 12 { 13 scanf("%d",&n);int ans=0; 14 head=tail=0; 15 for (int i=1;i<=n;i++) 16 { 17 scanf("%d%d",&a,&b); 18 int tmp=0; 19 while (head<tail && que[head]>b) ans=max(ans,da[head++]+i-1); 20 while (head<tail && que[tail-1]<=a) tmp=max(tmp,da[--tail]+i-1); 21 int now=tmp-i+1; 22 while (head<tail && da[tail-1]<=now) tail--; 23 if (head<tail && a>que[tail-1]) continue; 24 que[tail]=a,da[tail++]=now; 25 } 26 for (int i=head;i<tail;i++) ans=max(ans,da[i]+n); 27 printf("%d\n",ans); 28 return 0; 29 }
View Code
转载于:https://www.cnblogs.com/Blue233333/p/7537746.html
BZOJ2276: [Poi2011]Temperature相关推荐
- [颓废史]蒟蒻的刷题记录
QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...
- R语言ggplot2可视化在可视化图形的X轴标签中添加温度摄氏度符号(add temperature degree symbol on axis label)
R语言ggplot2可视化在可视化图形的X轴标签中添加温度摄氏度符号(add temperature degree symbol on axis label) 目录
- SAP MM 存储条件 - Room Temperature Vs Ambient
SAP MM 存储条件 - Room Temperature Vs Ambient 不言自明,SAP项目里,物料主数据是一个很重要的核心基础主数据. 在物料主数据中,有一个字段叫做storage co ...
- [bzoj2527][Poi2011]Meteors_整体二分_树状数组
Meteors bzoj-2527 Poi-2011 题目大意:题目链接. 注释:略. 想法: 首先答案可以离线,且具有单调性. 这里的单调性就是随着时间的推移,每个国家收集的陨石数增加. 不难想到整 ...
- [bzoj2213][Poi2011]Difference_动态规划
Difference bzoj-2213 Poi-2011 题目大意:已知一个长度为n的由小写字母组成的字符串,求其中连续的一段,满足该段中出现最多的字母出现的个数减去该段中出现最少的字母出现的个数最 ...
- 深度学习网络backbone?head、neck、bottleneck、GAP、Embedding、pretext task、downstream task、temperature parameter
一些术语: backbone这个单词原意指的是人的脊梁骨,后来引申为支柱,核心的意思.在神经网络中,尤其是CV领域,一般先对图像进行特征提取(常见的有vggnet,resnet,谷歌的inceptio ...
- 洛谷 P3521 [POI2011]ROT-Tree Rotations 解题报告
P3521 [POI2011]ROT-Tree Rotations 题意:递归给出给一棵\(n(1≤n≤200000)\)个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少. 大体 ...
- KubeEdge temperature 部署
本文对官方示例 temperature 进行实验. 功能说明 本示例主要是演示在云端获取边缘端的设备状态. 编译 本文对官方示例进行了修改.此处给出修改描述,详情参考修改后的源码. 1.参考 led ...
- bzoj 2216: [Poi2011]Lightning Conductor(DP决策单调性)
2216: [Poi2011]Lightning Conductor Time Limit: 25 Sec Memory Limit: 64 MB Submit: 1292 Solved: 443 ...
- 单调队列:temperature
题目大意:某国进行了连续n天的温度测量,测量存在误差,测量结果是第i天温度在[l_i,r_i]范围内. 求最长的连续的一段,满足该段内可能温度不降. 第一行n 下面n行,每行l_i,r_i 1< ...
最新文章
- 【TX2】英伟达Nvidia TX2连接蓝牙设备
- 【转】sql server开启全文索引方法
- sdut 3361迷宫探索dfs
- 无障碍开发(四)之ARIA aria-***状态值
- python调用winrar解压_批量文件解压缩脚本(Python3.5 + WinRAR)
- 因为支付宝,日本网民哭了!
- cjson 使用时遇到的问题找不到库
- indesign入门教程,如何添加文字?
- 华为对刷量、刷评论的惩罚是什么?有什么解决办法吗?
- python mht 文件转html文件
- 第三方支付-分账接口对接
- 这样投简历,99%没面试机会!
- 面试程序员被问“你的缺点是什么”,我该怎么回答?
- Categories各种举例
- Python优秀函数库集锦(二)
- 基于DTMF技术与射频技术的远程控制的实现
- 网管的自我修养-人际关系
- 思科access-list 1 permit 1.1.1.0 0.0.254.0 //允许第三位为奇数的路由
- SomeProbles:关于Mac不能格式化新的wd硬盘问题
- 合振动的初相位推导_如何确定合振动的初相位