传送门

文章目录

  • 解析
  • 问题
  • 代码

解析

一道很正常的动态规划
dp[i][j]表示到第j个花瓶放了第j朵花的dp最优值
注意:是严格使第i朵放在j瓶
找到最优解递归输出即可

问题

又是初始化的问题!!!
一开始把dp赋值成负无穷时落掉了j=0的一行
但到0个花瓶放了i朵花显然也是不合法的(i不等于0时)
导致出错
以后动态规划一定要重视初始化!!!

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=105;
int v[N][N];
int dp[N][N];//j瓶放到第i朵
int n,m;
int a,b,c;
int pre[N][N];
void print(int k,int pl){if(k==0) return;print(k-1,pre[k][pl]);printf("%d ",pl);
}
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){dp[i][0]=-2e9;for(int j=1;j<=m;j++) scanf("%d",&v[i][j]),dp[i][j]=-2e9;}for(int j=0;j<=m;j++) dp[0][j]=0;for(int j=1;j<=m;j++){for(int i=1;i<=n;i++){for(int k=i-1;k<j;k++){if(dp[i][j]<dp[i-1][k]+v[i][j]){dp[i][j]=dp[i-1][k]+v[i][j];pre[i][j]=k;}}}}int ans=-2e9,pl;for(int j=1;j<=m;j++){if(ans<dp[n][j]){ans=dp[n][j];pl=j;}}printf("%d\n",ans);print(n,pl);return 0;
}
/*
3 5
7 23 -5 -24 16
5 21 -4 10 23
-21 5 -4 -20 20
*/

花店橱窗布置(洛谷P1854)(动态规划)相关推荐

  1. 信息学奥赛一本通 1279:【例9.23】橱窗布置(flower) | 洛谷 P1854 花店橱窗布置

    [题目链接] ybt 1279:[例9.23]橱窗布置(flower) 洛谷 P1854 花店橱窗布置 吐槽:一本通中给的测试数据中,负号是全角负号!怪不得每次数据读不完程序就结束了.还是用洛谷的测试 ...

  2. 【DP】花店橱窗布置 (ssl 1626/luogu 1854)

    花店橱窗布置花店橱窗布置花店橱窗布置 ssl 1626 luogu 1854 题目大意: 有n朵花和m个花瓶,每一朵花插在不同的花瓶里会有不同的美丽度,花瓶和花必须按原来的顺序摆放,求最大的美丽值 D ...

  3. 洛谷-摆花-动态规划

    一.题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆 ...

  4. rqnoj 496 [IOI1999]花店橱窗布置 (简单dp)

    很水,我却做了很久,唉,细节的东西没处理好... 又要顺序又要最大的,看上去感觉就和LCS一样,很容易想出状态转移公式:dp[i,j] = max{dp[i - 1][j - 1] + a[i][j] ...

  5. IOI1999 花店橱窗布置

    Luogu 这可能是继数字金字塔后IOI最水的一道题了.(然而我也就只能做这种水题 设\(dp[i,j]\)表示第\(i\)行选到第\(j\)个最优解,状态转移方程很显然,如下 \[dp[i,j]=\ ...

  6. codevs 1028 花店橱窗布置 (KM)

    /*裸地KM*/ #include<iostream> #include<cstdio> #include<cstring> #define maxn 110 #d ...

  7. 洛谷试炼场 动态规划TG.lv(2)

    P1273 有线电视网 题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. ...

  8. 洛谷P2255 动态规划

    一种dp的解法 首先对于每一个节目都是看与不看的问题,可以选择对开始时间排序后,按顺序考虑每一个节目,排序后优秀的地方在于,你考虑一个节目的时候,最优解的选取方法里,在你当前节目之前会选取到的节目都是 ...

  9. 动态规划——最长公共子序列(洛谷P1439)

    题目选自洛谷P1439 动态规划的模板题,最长公共子序列 1.譬如给定2个序列: 1 2 3 4 53 2 1 4 5 试求出最长的公共子序列. 那么 最普通的 LCS 代码: #include< ...

最新文章

  1. 开源可视化日志分析软件-Gource
  2. 一份来自上海院校的考研预调剂系统已开放名单!
  3. 你为什么总学不会设计模式?
  4. python中定义字符串_python中的字符串
  5. 夏季防暑降温小常识汇总 - 生活至上,美容至尚!
  6. 博客从“新浪云“迁移到CSDN的说明
  7. 解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题
  8. bzoj3993 [SDOI2015]星际战争 二分答案+网络流检验
  9. Maven使用archetype迅速生成项目骨架
  10. gitblit如何迁移入gitlab合并迁移_gitlab和gitlab项目迁移
  11. GDAL_GRID插值Y轴反向的问题
  12. ANDROID开发中注意不同手机CPU架构对SO文件的不同需求。
  13. 3. PSR-3 --- 日志接口
  14. 【项目实战——emos在线办公系统】:会议申请、请假申请等部分代码理解
  15. fusion 360调整字体大小
  16. 嵌入式Linux小项目之图片编解码播放器(6)
  17. antd Form.Item的name是数组时如何取值
  18. 阿里OceanBase GitHub点赞送礼引争议,CTO道歉,贾扬清李沐讨论
  19. VR全景旅游开发让旅游足不出户身临其境的感觉
  20. wifi5和wifi6差别 wifi5和wifi6区别

热门文章

  1. cass字体_不动产 准备工作 第一步: 管理CASS码
  2. jpa 默认生成sql语句_springboot-jpa自动创建数据库表
  3. linux nginx mysql php 5.5._搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
  4. 网学天地计算机组成与原理试题,哈工大2007年秋季学期计算机组成原理期末试题...
  5. yaml for java_细数Java项目中用过的配置文件(YAML篇)
  6. lighttpd mysql_lighttpd+mysql+php
  7. C++11的for循环使用auto的新用法
  8. [C++11]指针空值类型nullptr
  9. LeetCode 110平衡二叉树-简单
  10. AcWing 1047. 糖果