今天讲的全是dp...

不多废话,先看一道经典的模板LIS(最长不下降子序列)

一.LIS

给定一个长度为N的数列,求最长上升子序列

例:1 7 2 8 3 4

答案:1 2 3 4

代码:

 #include <bits/stdc++.h>//突然想用万能库 

 using namespace std;

 const int maxn = ;
int n, data[maxn], dp[maxn], from[maxn];//方案
void output(int x)
{
if(!x) return ;
output(from[x]);
cout<<data[x]<<" ";
}
int main()
{
cin>>n;
for(int i = ; i <= n;i++) cin>>data[i]; for(int i = ; i <= n;i++)
{
dp[i] = ;
from[i] = ;
for(int j = ; j < i; j++)
{
if(data[j] < data[i]&&dp[j]+ > dp[i])
{
dp[i] = dp[j] + ;
from[i] = j;
}
}
} int ans = dp[], pos = ;
for(int i = ; i <= n; i++)
if(ans < dp[i])
{
ans = dp[i];
pos = i;
}
cout<<ans<<endl;
output(pos);
return ;
}

二.背包问题

背包就不多讲了,背包九讲里面非常明白了,也是很基础的dp

N个物品,每个物品有价值和体积两个属性

从中选出若干个物品,体积和不超过V 要求选出的物品价值和最大

每个物品只能选一次(01背包)

体积可能是多维(多维背包)

物品可以被选的次数可能是有限次或者无限次(完全背包)

物品之间可能存在依赖(依赖背包)

......

三.ST表

思想:倍增、DP(状态转移方程: F[i,j] = min/max (F[i,j - 1],F[i + 2^(j - 1),j - 1])   )

功能:求任意区间的最大值

要求:静态的,无法修改数据

空间复杂度:O(nlogn)

时间复杂度:O(nlogn) – O(1)

#include <cstdio>
#include <algorithm>
using namespace std;
int const maxn = ;
int st[maxn][], a[maxn], ans[maxn];
int n, m, left, right, j, i;
int main()
{
scanf("%d%d", &n, &m);
for(i = ; i <= n; i++)
{
scanf("%d", &a[i]);
st[i][] = a[i];
} for(j = ; (<<j) <= n; j++)
for(i = ; i <= n-(<<j) + ; i++)
st[i][j] = min(st[i][j-] , st[i+( <<(j-) )][j-]); for(i = ; i <= m; i++)
{
scanf("%d%d", &left, &right);
j = ;
while((<<(j+)) <= (right-left+)) j++;
ans[i] = min(st[left][j],st[right-(<<j)+][j]);
} for(i = ; i <= m; i++)
printf("%d ",ans[i]);
return ;
}

还有一部分...待我再细细思考总结...(说白了就是现在还不太明白)

学大伟业 Day 4 培训总结的更多相关文章

  1. 学大伟业 Day 1 培训总结

    第一天培训,讲的基本算法,东西很多.还有些数论,图论,数据结构and some small tricks 一.输入输出技巧 //输入输出技巧 /* scanf.printf:速度快,需要记忆不同数据类 ...

  2. 学大伟业 Day 6 培训总结

    今天接着昨天的继续讲数据结构 今天先是 分块 在统计问题中,尤其是序列问题,经常涉及到区间的操作,比如修改一段区间的元素,询问某个区间的元素的信息. 如果每次都对一整个区间的每一个元素进行操作的话,那 ...

  3. 学大伟业 Day 5 培训总结

    今天讲数据结构 先从mzx大佬的ppt摘抄一段: 数据结构是计算机存储.组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合. 通常情况下,精心选择的数据结构可以带来更高的运行或 ...

  4. 学大伟业 Day 3 培训总结

    今天讲的字符串: 不多说,直接看题 一.表达式求值 题目大意: 输入一行一个表达式,计算其答案 表达式包含非负整数.加减乘除.括号 两种做法 ·栈 ·表达式树 这里更推荐表达式树,因为栈是先压进去,逆 ...

  5. 学大伟业 Day 2 培训总结

    一.dp 动态规划的本质 是一种思想.通过对原问题划分成子问题,寻找子问题之间的联系,通过求解子问题得出原问题的解.与贪心不同的是,动归是深谋远虑,考虑全局最优解:而贪心则目光短浅,只考虑局部最优解. ...

  6. 学大伟业Day1解题报告

    学大伟业Day1解题报告 张炳琪 一.   时间分配 T1:30分钟  T2: 60分钟  T3:100分钟 二.答题情况及错因 T1:100         T2:55             T3 ...

  7. 学大伟业 2017 国庆 Day1

    期望得分:100+100+20=220 实际得分:100+100+20=220 (好久没有期望==实际了 ,~\(≧▽≦)/~) 对于 a........a 如果 第1个a 后面出现的第1个b~z 是 ...

  8. 2017-10-23学大伟业Day1

    T1 叉叉 题目名称 叉叉 程序文件名 cross 输入文件名 cross.in 输出文件名 cross.out 每个测试点时限 1秒 内存限制 128MB 测试点数目 10 每个测试点分值 10 是 ...

  9. 学大伟业 国庆Day2

    期望得分:30+100+0=130 实际得分:30+100+20=150 忍者钩爪 (ninja.pas/c/cpp) [问题描述] 小Q是一名酷爱钩爪的忍者,最喜欢飞檐走壁的感觉,有一天小Q发现一个 ...

随机推荐

  1. 移动平台的meta标签(转)

    1.Meta 之 viewport 说到移动平台meta标签,那就不得不说一下viewport了,那么什么是viewport呢? viewport即可视区域,对于桌面浏览器而言,viewport指的就 ...

  2. DIV水平垂直居中的CSS兼容写法

    DIV水平垂直居中,非IE浏览器可以用CSS3来处理,IE浏览器中分别处理IE6和/IE7.IE8.IE9. 在IE低版本中,虽然大致上没有问题,但还是有一些细微的显示问题. 示例如下: <!D ...

  3. 机器学习——GBDT

    基础概念 GBDT(Gradient Boosting Decision Tree) 全称梯度提升决策树,是一种迭代的决策树算法.GBDT是集成学习Boosting的家族成员,GBDT中的树是回归树, ...

  4. 存储型xss调研

    概念 存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行. 常见的xss攻击方 ...

  5. 数据从mysql迁移到hbase的一些思考及设计

    一.进行迁移的原因 由于业务的发展,使用mysql进行建立索引进行搜索已经造成数据流的瓶颈卡在了数据库io,例如每次dump全表的时候,会造成压力过大,造成耗时很长,并且当前的数据量基本上已经达到了亿 ...

  6. C# HashTable 使用用法详解

    C#中如何操作HashTable类呢?本文将给你答案,哈希表(Hashtable)简述在.NET Framework中, 一,Hashtable是System.Collections命名空间提供的一个 ...

  7. Java笔记之Scanner先读取一个数字,在读取一行字符串方法分析

    问题:大家在学习Java读取数据的时候一般都是使用Scanner方法读取数据,但是其中有一个小问题大家可能不知道, 就是我们在使用scanner的时候如果你先读取一个数字,在读取一行带有空格的字符串, ...

  8. 文章点赞功能(Ajax)

    一.文章点赞样式构建 1.将base.html的css样式改为外部引入 将base.html的内嵌样式删除,改为使用 HTML 头部的 <head> 标签对中使用<link>标 ...

  9. keepalived+nginx 高可用集群

    一.什么是高可用?   nginx做负载均衡,能达到分发请求的目的,但是不能很好的避免单点故障. 1.nginx集群单点问题 分发器宕机怎么处理? 假如nginx服务器挂掉了,那么所有的服务也会跟着瘫 ...

  10. link 和 import 导入外部样式的区别

    差别一:link 属于 XHTML 标签,而 @import 完全是 CSS 提供的 一种方式.link标签除了可以加载 CSS 外,还可以做很多事情,比如定义 RSS ,定义 rel 链接属性等.  ...