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. svn快速教程

    本文拷贝自网址:http://www.subversion.org.cn/?action-viewnews-itemid-1 如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关 ...

  2. 字符串0.在php和js中转换为布尔类型 值是false还是true

    在php 中 $a = '0'; $b = (bool)$a; var_dump($a);//输出false 在js中官方说明: Note:If the value parameter is omit ...

  3. vue.common.js?e881:433 TypeError: Cannot read property 'nodeName' of undefined

    我觉得吧,是这么个原因,就是响应式要找这个node改它的内容,没找着,就报错了. 用computed监控vuex的state属性,绑定到页面上,如果这个属性改了,因为响应式,那么就要更改页面,如果页面 ...

  4. Webstorm 下的Angular2.0开发之路

    人一旦上了年纪,记忆力就变得越来越不好. 最近写了许多的博文,倒不是为了给谁看,而是方便自己来搜索,不然一下子又忘记了. 如果恰巧帮助到了你,也是我的荣幸~~~~~~~~~~~~ 废话不多说,看正题~ ...

  5. java中使用poi导入导出excel文件_并自定义日期格式

    Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2.总之,你可以读写Excel文件使 ...

  6. java 简单数组元素的增删改查

    public class Test { static int[] a = new int[20]; static int n; public static void main(String[] arg ...

  7. css中的一些概念

    1.伪类与伪元素 1.单冒号(:)用于 CSS3 伪类,双冒号(::)用于 CSS3 伪元素. 2.对于 CSS2 中已经有的伪元素,例如 :before,单冒号和双冒号的写法 ::before 作用 ...

  8. ARM: STM32F7: hardfault caused by unaligned memory access

    ARM: STM32F7: hardfault caused by unaligned memory access ARM: STM32F7: 由未对齐的内存访问引起的hardfault异常 Info ...

  9. sql sever跨数据库复制数据的方法【转】

    1,用Opendatasource系统函数 详细的用法已经注释在sql代码中了.这个是在sqlserver到sqlserver之间的倒数据.2005,2008,2012应该都是适用的. --从远程服务 ...

  10. GDI+ 绘制经验

    现有一种场景,鼠标移动时,假设鼠标坐标为 X , Y , 需实时在 坐标 (X , 0) , (0 , Y) 两处更新内容. 方案一:增加两个label ,或其它控件,鼠标移动时,实时更新 label ...