POJ 2533 最长不降子序列

 #include <cstdio>
const int Maxn=;
int a[Maxn],Pos[Maxn],F[Maxn],n,Ans;
inline int Max(int x,int y) {return x>y?x:y;}
inline int Find(int x)
{
int l=,r=Ans,Res;
while (l<=r)
{
int mid=(l+r)>>;
if (a[Pos[mid]]<x) Res=mid,l=mid+; else r=mid-;
}
return Res;
}
int main()
{
scanf("%d",&n);
for (int i=;i<=n;i++) scanf("%d",&a[i]);
F[]=; Pos[]=; Ans=;
for (int i=;i<=n;i++)
{
int t=Find(a[i]);
Pos[t+]=i;
F[i]=t+;
Ans=Max(Ans,F[i]);
}
printf("%d\n",Ans);
return ;
}

POJ 2533

BZOJ 3886

状压DP+贪心

 #include <cstdio>
#include <cstring>
const int Maxn=;
const int Maxm=;
const int Inf=0x3f3f3f3f;
inline int Min(int x,int y) {return x>y?y:x;}
inline int Max(int x,int y) {return x>y?x:y;}
int n,m,f[<<Maxn],Ans=Inf;
int Len[Maxn],P[Maxn],C[Maxn][Maxm];
int find(int x,int id)
{
int l=,r=P[id];
while (l<r)
{
int mid=(l+r+)>>;
if (C[id][mid]<=x) l=mid;
else r=mid-;
}
return l;
}
int main()
{
// freopen("c.in","r",stdin);
scanf("%d%d",&n,&m);
for (int i=;i<=n;i++)
{
scanf("%d%d",&Len[i],&P[i]);
for (int j=;j<=P[i];j++) scanf("%d",&C[i][j]);
}
memset(f,-,sizeof(f)),f[]=;
for (int i=;i<(<<n);i++)
{
if (f[i]==-) continue;
if (f[i]>=m)
{
int j,k;
for (j=,k=i;k;k-=(k&(-k))) j++;
Ans=Min(Ans,j);
continue;
}
for (int j=;j<=n;j++)
{
if (i&(<<(j-))) continue;
int k=find(f[i],j);
if (k==) continue;
f[i|(<<(j-))]=Max(f[i|(<<(j-))],C[j][k]+Len[j]);
}
}
printf("%d\n",Ans==Inf?-:Ans);
return ;
}

BZOJ 3886

NOIP 考前DP 复习的更多相关文章

  1. NOIP 考前 队列复习

    BZOJ 1127 #include <cstdio> #include <cstring> #include <iostream> #include <al ...

  2. NOIP 考前 数论复习

    POJ 2891 x=r1 (mod a1) x=r2 (mod a2) x=a1*x+r1,x=a2*y+r2; a1*x-a2*y=r2-r1; 用Extend_Gcd求出m1*x+m2*y=d; ...

  3. NOIP 考前 数据结构复习

    BZOJ 1455 左偏树即可 #include <cstdio> #define LL long long ; struct Info{LL l,r,v,Dis;}Tree[Maxn]; ...

  4. NOIP 考前 Tarjan复习

    POJ 1236 给定一个有向图,求: 1) 至少要选几个顶点,才能做到从这些顶点出发,可以到达全部顶点 2) 至少要加多少条边,才能使得从任何一个顶点出发,都能到达全部顶点 第一个就是缩点之后有多少 ...

  5. noip考前模板复习

    网络流 Dinic(搭配飞行员) //Serene #include<algorithm> #include<iostream> #include<cstring> ...

  6. Noip前的大抱佛脚----Noip真题复习

    Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...

  7. NOIP考前划水

    NOIP考前划水 君指先跃动の光は.私の一生不変の信仰に.唯私の超電磁砲永世生き! 要开始背配置了? 3行不谢. (setq c-default-style "awk") (glo ...

  8. 区间DP复习

    区间DP复习 (难度排序:(A,B),(F,G,E,D,H,I,K),(C),(J,L)) 这是一个基本全在bzoj上的复习专题 没有什么可以说的,都是一些基本的dp思想 A [BZOJ1996] [ ...

  9. 集训DP复习整理

    DP复习 集训%你赛2:测绘(审题DP) 经过2000+个小时的努力终于把这道题做出来的蒟蒻通 分析: 这道题我一直没做出来的原因就是因为我太蒟了题面看不懂,题面读懂了,其实不是特别难. 题目翻译: ...

随机推荐

  1. 仿W8屏保

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Java EE : 二、图解 Cookie(小甜饼)

    目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.概述 二.详细介绍Cookie 传输 ...

  3. iOS:didSelectRowAtIndexPath:方法失效解决办法

    问题描述及解决过程: 为了达到点击TableView空白区退出键盘的效果,给控制器注册了一个UITapGestureRecognizer来识别点击事件,代码如下: #pragma mark - 设置手 ...

  4. jquery中隐藏div的几种方法

    //jQuery中的显示.隐藏方法 $("#id").show()://表示display:block,    $("#id").hide()://表示disp ...

  5. JQmeter显示进度条

    <script type="text/javascript"> $(function(){ var percent = "${evICVDBean.resul ...

  6. MVC5+EF6 入门完整教程九

    前一阵子临时有事,这篇文章发布间隔比较长,我们先回顾下之前的内容,每篇文章用一句话总结重点. 文章一 MVC核心概念简介,一个基本MVC项目结构 文章二 通过开发一个最基本的登录界面,介绍了如何从Co ...

  7. BZOJ AC800纪念

    貌似没什么好纪念的...QAQQQ 好不容易水到了800还是记录一下好了....不过感觉水这么多题没有意义啊[思考熊] 然后就没有然后了恩 不过我到底是为什么才努力的呢...前途一阵迷茫,根本没有什么 ...

  8. DataSet集合直接根据传入的类转List<T>集合

    最近比较忙,好久没写博客了.个人感觉最好的进步就是写东西.哈哈. 一般我们使用ADO.net从数据库中读取数据返回的集合是DataSet类型的.有时候我们需要进行转换成List<T>集合. ...

  9. C++小项目:directx11图形程序(九):总结

    整篇文章中对于directx11的知识的介绍并不多,我也不知道怎么介绍,也应该说对于directx,它有它自己的部分,比如设备(device),设备上下文(devicecontext),顶点缓存,索引 ...

  10. php 数据库select函数//待编辑

    <?php $con = mysql_connect("localhost","root","root"); if (!$con) { ...