杨氏图表,维护若干个单调不下降队列。

每次新加入一个数时,先考虑第一个队列:

如果可以放在最后,则放在最后。

否则找到最小的可以替换的替换掉,再将替换的数放入第二个队列,以此类推。

最后$ans_i=\sum_{j=1}^i t_j$。

时间复杂度$O(n^2\log n)$。

#include<cstdio>
#define N 5005
int n,i,x,t[N];unsigned char q[N][N];
void up(int p,int x){
if(x>=q[p][t[p]]){q[p][++t[p]]=x;return;}
int l=1,r=t[p],mid,u;
while(l<=r)if(q[p][mid=(l+r)>>1]>x)r=(u=mid)-1;else l=mid+1;
up(p+1,q[p][u]),q[p][u]=x;
}
int main(){
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d",&x),up(1,x);
for(i=1;;i++){
printf("%d\n",t[i]+=t[i-1]);
if(t[i]==n)return 0;
}
}

  

BZOJ1175 : [Balkan2007]The stairways of Saharna的更多相关文章

  1. bzoj 1175: The stairways of Saharna

    一道杨氏矩阵的题,萌新初入门,还不是很懂,这篇 blog 讲的超级好(就是看图有点麻烦) 据说这玩意儿可以代替堆和平衡树用,支持插入.删除.查询,跑得还挺快的(慢着,复杂度好像是 n^2 ? 而且空间 ...

  2. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  3. BZOJ 1176: [Balkan2007]Mokia

    1176: [Balkan2007]Mokia Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 2012  Solved: 896[Submit][St ...

  4. BZOJ1174: [Balkan2007]Toponyms

    1174: [Balkan2007]Toponyms Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 117  Solved: 16[Submit][S ...

  5. BZOJ 1176: [Balkan2007]Mokia( CDQ分治 + 树状数组 )

    考虑cdq分治, 对于[l, r)递归[l, m), [m, r); 然后计算[l, m)的操作对[m, r)中询问的影响就可以了. 具体就是差分答案+排序+离散化然后树状数组维护.操作数为M的话时间 ...

  6. BZOJ 1176([Balkan2007]Mokia-CDQ分治-分治询问)

    1176: [Balkan2007]Mokia Time Limit: 30 Sec   Memory Limit: 162 MB Submit: 185   Solved: 94 [ Submit] ...

  7. 【BZOJ1176】[Balkan2007]Mokia/【BZOJ2683】简单题 cdq分治

    [BZOJ1176][Balkan2007]Mokia Description 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=1600 ...

  8. 1176: [Balkan2007]Mokia

    1176: [Balkan2007]Mokia 链接 分析 三维偏序问题,CDQ分治论文题. 代码 #include<bits/stdc++.h> using namespace std; ...

  9. [BZOJ1176][Balkan2007]Mokia cdq+树状数组

    1176: [Balkan2007]Mokia Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 3134  Solved: 1395[Submit][S ...

随机推荐

  1. 第11章 使用Vsftpd服务传输文件

    章节简述: 本章节先通过介绍文件传输协议来帮助读者理解FTP协议的用处,安装vsftpd服务程序并逐条分析服务文件的配置参数. 完整演示vsftpd服务匿名访问模式.本地用户模式及虚拟用户模式的配置方 ...

  2. unity3d iPhone文件目录介绍

    原地址:http://cl314413.blog.163.com/blog/static/190507976201210259126559/ 如何查看iPhone文件存放目录?首先需要越狱,越狱后打开 ...

  3. JS 自定义正则表达式

    1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的 ...

  4. MySQL Profiling 的使用

    MySQL Profiling 的使用 在本章第一节中我们还提到过通过 Query Profiler 来定位一条 Query 的性能瓶颈,这里我们再详细介绍一下 Profiling 的用途及使用方法. ...

  5. LVS-三种负载均衡方式比较

    1.什么是LVS? 首 先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和 基于内容请求分发技术.调度器具 ...

  6. 用JAVA代码实现验证邮箱地址是否符合

    public class Test{ public static void main(String[] args){ Test t = new Test(); String email = " ...

  7. Burst Balloons

    Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it represented by ...

  8. annotation(@Retention@Target)详解

    一.注解:深入理解JAVA注解 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法. 1.元注解(meta-a ...

  9. HDU 3833 YY's new problem ()

    YY's new problem Time Limit: 12000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  10. Java 批量反编译class文件,并保持目录结构

    jad -o -r -d d:\src -s java C:\Users\spring\Desktop\egorder3.0\WEB-INF\classes\**\*.class -o - overw ...