聪明的美食家(动态规划)

题目描述:如果有人认为吃东西只需要嘴巴,那就错了。
都知道舌头有这么一个特性,“由简入奢易,由奢如简难”(据好事者考究,此规律也适合许多其他情况)。具体而言,如果是甜食,当你吃的食物不如前面刚吃过的东西甜,就很不爽了。
大宝是一个聪明的美食家,当然深谙此道。一次他来到某小吃一条街,准备从街的一头吃到另一头。为了吃得爽,他大费周章,得到了各种食物的“美味度”。他拒绝不爽的经历,不走回头路而且还要爽歪歪(爽的次数尽量多)。

输入两行数据。
第一行为一个整数n,表示小吃街上小吃的数量
第二行为n个整数,分别表示n种食物的“美味度” 输出一个整数,表示吃得爽的次数 样例输入10
3 18 7 14 10 12 23 41 16 24
样例输出6

题目的模型就是最长上升子序列模型,是动态规划的基础题。题目含义是给出一串数字,求出按数字从小到大排序的所有组合中所含元素个数最多的组合。
3 18 7 14 10 12 23 41 16 24中 3 7 14 10 23 41是元素个数最多的组合方式。

状态转移方程dp[i]代表以第i个数为结尾吃的爽的最多次数,i从1枚举到n(小吃街上小吃的数量)

假设当前枚举到第i个数,那么根据题意dp[i]应该是前i个数中包含元素最多的组合,那么为了保证dp[i]这个组合是含元素最多的解,那么必须确保这个dp[i]组合中以倒数第二个元素为结尾的子组合也必须是最优解,为了确定以倒数第二个元素为结尾的组合是最优解我们需要对1~i-1的dp[i]选取最优解 dp[i]=max(dp[i],dp[j]+1);

废话不多说上代码····················································································

#include<iostream>
#include<algorithm>
using namespace std;
const int N=1005;
int eat[N];
int dps[N];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>eat[i];dps[i]=1;}for(int i=1;i<=n;i++){for(int j=1;j<i;j++){if(eat[j]<=eat[i]){dps[i]=max(dps[i],dps[j]+1);}}}int res=0;for(int i=1;i<=n;i++){res=max(res,dps[i]);}cout<<res;
}

聪明的美食家(动态规划)相关推荐

  1. 题目 1557:聪明的美食家(动态规划)

    题目描述 如果有人认为吃东西只需要嘴巴,那就错了. 都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况).具体而言,如果是甜食,当你吃的食 ...

  2. 蓝桥杯 ADV-166 算法提高 聪明的美食家 java版

    问题描述 如果有人认为吃东西只需要嘴巴,那就错了.都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况).具体而言,如果是甜食,当你吃的食物 ...

  3. 蓝桥杯 ADV-166算法提高 聪明的美食家

    问题描述 如果有人认为吃东西只需要嘴巴,那就错了. 都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况).具体而言,如果是甜食,当你吃的食 ...

  4. 蓝桥杯 题1557 聪明的美食家 C++

    动态规划 如果有人认为吃东西只需要嘴巴,那就错了. 都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况).具体而言,如果是甜食,当你吃的食 ...

  5. 1020: 算法提高 聪明的美食家

    1020: 算法提高 聪明的美食家 时间限制: 1 Sec  内存限制: 256 MB 提交: 10  解决: 3 [提交][状态][讨论版] 题目链接 题目描述 如果有人认为吃东西只需要嘴巴,那就错 ...

  6. [蓝桥杯][算法提高VIP]聪明的美食家-dp

    题目描述 如果有人认为吃东西只需要嘴巴,那就错了. 都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况).具体而言,如果是甜食,当你吃的食 ...

  7. Java 算法 聪明的美食家

    目录标题 题目描述 解题思路 代码 题目描述 如果有人认为吃东西只需要嘴巴,那就错了. 都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况 ...

  8. [Java] 蓝桥杯ADV-166 算法提高 聪明的美食家

    问题描述 如果有人认为吃东西只需要嘴巴,那就错了. 都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况).具体而言,如果是甜食,当你吃的食 ...

  9. ADV-166 聪明的美食家

    问题描述 如果有人认为吃东西只需要嘴巴,那就错了. 都知道舌头有这么一个特性,"由简入奢易,由奢如简难"(据好事者考究,此规律也适合许多其他情况).具体而言,如果是甜食,当你吃的食 ...

最新文章

  1. 面试官给我挖坑:URI中的 “//” 有什么用?
  2. 我的面试标准:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架!...
  3. python面向对象编程 Object-Oriented
  4. AJAX ASP/PHP 请求实例
  5. python中的np where_python – np.where在我的熊猫中不起作用
  6. CF9D-How many trees?【dp】
  7. python正弦波和等腰三角波_51proteus仿真:生成方波、正弦波、锯齿波和三角波
  8. 计算机科学家 收入,你离年薪100万的数据科学家还差10个“码农”
  9. javaScript的arguments传参数
  10. Ubuntu安装Spark
  11. 文本挖掘学习笔记(二):文档信息向量化与主题关键词提取
  12. Code Smell 检测工具调研
  13. 身份证号码正则表达式及校验方法
  14. 坚持并活下去!cxuan 在 CSDN 的 2020 年终总结。
  15. win10 Edge浏览器 触控板 快捷键
  16. 六个防止SQL注入式攻击的建议
  17. hive 语句执行顺序
  18. 4110:圣诞老人的礼物-Santa Clau’s Gifts
  19. MYSQL 备份到底怎么办,XTRABACKUP 还是 MEB(2)--mysqlbackup MEB
  20. app store服务器网站,app store 游戏服务器

热门文章

  1. 佛说 众生皆苦 今日果昨日因
  2. VQA系列论文(二)
  3. 怎么压缩照片的大小?学会这几种方法随意压缩!
  4. SpringBoot+Vue实现前后端分离的员工日志管理信息系统
  5. win32print的API介绍
  6. 解决兼容问题:Windows 7下载安装 Visual C++ 6.0(VC6)
  7. 《java并发编程实战》- 关于this引用溢出
  8. 怎么快速生成gif动图?三步完成gif合成
  9. Java2实用教程第五版+第四章习题答案
  10. 离心机 TFN A17CH 微量高速冷冻离心机 17800r/min 触摸屏 轻型便捷微量高速