首先容易想到的是LIS,但是n<=30000,所以肯定要优化;

壮哉单调队列又登场了;

然后再找一个最长不上升序列并求两者最大值即可,复杂度O(n logn);

应该说这是解题通法了,但再回头看题目,这道题中,1<=di<=3这个条件没有用

于是很容易想到,还是以最长不下降序列为例:

明显序列结尾元素只有3种可能:以1开头,以2开头,以3开头(全是3);

设d[1],d[2],d[3]代表上述3种可能;

则从后往前,对于当前数t,d[t]=max{d[t],d[k]+1} (t<=k<=3)

则复杂度优化为O(n);

 var d:array[..] of longint;
a:array[..] of integer;
n,i,t,j:longint;
function max(a,b:longint):longint;
begin
if a>b then max:=a else max:=b;
end; begin
readln(n);
for i:= to n do
readln(a[i]);
for i:=n downto do
begin
t:=a[i];
for j:=t to do
d[t]:=max(d[t],d[j]+);
end;
writeln(n-max(d[],d[]));
end.

poj3671的更多相关文章

  1. POJ3671 Dining Cows

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8126   Accepted: 3441 Description The c ...

  2. ACM训练计划建议(写给本校acmer,欢迎围观和指正)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

  3. 【POJ水题完成表】

    题目 完成情况 poj1000:A+B problem 完成 poj1002:电话上按键对应着数字.现在给n个电话,求排序.相同的归一类 完成 poj1003:求最小的n让1+1/2+1/3+...+ ...

  4. ACM训练计划建议(转)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

随机推荐

  1. Oracle RAC LoadBalance

    LoadBalance 就是把负载平均的分配到集群中的各个节点,从而提高整体的吞吐能力. Oracle 10g RAC 提供了两种不同的方法来分散负载: 通过Connection Balancing, ...

  2. xml学习总结(二)

    XML Schema (1)Schema内置类型 ->字符串类型 <strlist xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins ...

  3. python的浅拷贝和深拷贝

    python对象有两种拷贝的形式:浅拷贝和深拷贝. 在<python核心编程>中看到对这两种拷贝的分析,觉得十分收益,所以记录在此. id()方法:id()方法可以查看某个对象的ID,类似 ...

  4. C语言-创建链表及排序

    #include <stdio.h> #define NEWNODE (Node *)malloc(sizeof(Node)) typedef struct mynode{ int num ...

  5. OFBiz进阶之HelloWorld(二)创建热部署模块

    参考文档 https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Tutorial+-+A+Beginners+Development+Guid ...

  6. 十八、mysql 内存优化 之 myisam

    .key_buffer 索引块大小 set global hot_cache.key_buffer_size = ; //设置大小 show variables like 'key_buffer_si ...

  7. Xcode的后缀字母的意思是

    'A'  新增 'D'  删除 'M'  修改 'R'  替代 'C'  冲突 'I'  忽略 '?'  未受控 '!'  丢失,一般是将受控文件直接删除导致

  8. 【BZOJ 1070】[SCOI2007]修车

    Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使 ...

  9. linux内核分析之内存管理

    1.struct page /* Each physical page in the system has a struct page associated with * it to keep tra ...

  10. .NET Json 解析到Dictionary,原生代码

    之前一直使用微软自带的Json,也一直想试着自己解析下Json玩玩,于是花了一个晚上的时间写了个解析的类, 先说下思路,先从简单的说起:如:标准的JSon格式如:{"Key":&q ...