花店橱窗布置(洛谷P1854)(动态规划)
传送门
文章目录
- 解析
- 问题
- 代码
解析
一道很正常的动态规划
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)(动态规划)相关推荐
- 信息学奥赛一本通 1279:【例9.23】橱窗布置(flower) | 洛谷 P1854 花店橱窗布置
[题目链接] ybt 1279:[例9.23]橱窗布置(flower) 洛谷 P1854 花店橱窗布置 吐槽:一本通中给的测试数据中,负号是全角负号!怪不得每次数据读不完程序就结束了.还是用洛谷的测试 ...
- 【DP】花店橱窗布置 (ssl 1626/luogu 1854)
花店橱窗布置花店橱窗布置花店橱窗布置 ssl 1626 luogu 1854 题目大意: 有n朵花和m个花瓶,每一朵花插在不同的花瓶里会有不同的美丽度,花瓶和花必须按原来的顺序摆放,求最大的美丽值 D ...
- 洛谷-摆花-动态规划
一.题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆 ...
- rqnoj 496 [IOI1999]花店橱窗布置 (简单dp)
很水,我却做了很久,唉,细节的东西没处理好... 又要顺序又要最大的,看上去感觉就和LCS一样,很容易想出状态转移公式:dp[i,j] = max{dp[i - 1][j - 1] + a[i][j] ...
- IOI1999 花店橱窗布置
Luogu 这可能是继数字金字塔后IOI最水的一道题了.(然而我也就只能做这种水题 设\(dp[i,j]\)表示第\(i\)行选到第\(j\)个最优解,状态转移方程很显然,如下 \[dp[i,j]=\ ...
- codevs 1028 花店橱窗布置 (KM)
/*裸地KM*/ #include<iostream> #include<cstdio> #include<cstring> #define maxn 110 #d ...
- 洛谷试炼场 动态规划TG.lv(2)
P1273 有线电视网 题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. ...
- 洛谷P2255 动态规划
一种dp的解法 首先对于每一个节目都是看与不看的问题,可以选择对开始时间排序后,按顺序考虑每一个节目,排序后优秀的地方在于,你考虑一个节目的时候,最优解的选取方法里,在你当前节目之前会选取到的节目都是 ...
- 动态规划——最长公共子序列(洛谷P1439)
题目选自洛谷P1439 动态规划的模板题,最长公共子序列 1.譬如给定2个序列: 1 2 3 4 53 2 1 4 5 试求出最长的公共子序列. 那么 最普通的 LCS 代码: #include< ...
最新文章
- 开源可视化日志分析软件-Gource
- 一份来自上海院校的考研预调剂系统已开放名单!
- 你为什么总学不会设计模式?
- python中定义字符串_python中的字符串
- 夏季防暑降温小常识汇总 - 生活至上,美容至尚!
- 博客从“新浪云“迁移到CSDN的说明
- 解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题
- bzoj3993 [SDOI2015]星际战争 二分答案+网络流检验
- Maven使用archetype迅速生成项目骨架
- gitblit如何迁移入gitlab合并迁移_gitlab和gitlab项目迁移
- GDAL_GRID插值Y轴反向的问题
- ANDROID开发中注意不同手机CPU架构对SO文件的不同需求。
- 3. PSR-3 --- 日志接口
- 【项目实战——emos在线办公系统】:会议申请、请假申请等部分代码理解
- fusion 360调整字体大小
- 嵌入式Linux小项目之图片编解码播放器(6)
- antd Form.Item的name是数组时如何取值
- 阿里OceanBase GitHub点赞送礼引争议,CTO道歉,贾扬清李沐讨论
- VR全景旅游开发让旅游足不出户身临其境的感觉
- wifi5和wifi6差别 wifi5和wifi6区别
热门文章
- cass字体_不动产 准备工作 第一步: 管理CASS码
- jpa 默认生成sql语句_springboot-jpa自动创建数据库表
- linux nginx mysql php 5.5._搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
- 网学天地计算机组成与原理试题,哈工大2007年秋季学期计算机组成原理期末试题...
- yaml for java_细数Java项目中用过的配置文件(YAML篇)
- lighttpd mysql_lighttpd+mysql+php
- C++11的for循环使用auto的新用法
- [C++11]指针空值类型nullptr
- LeetCode 110平衡二叉树-简单
- AcWing 1047. 糖果