1. 题目限制
  2. 时间限制 内存限制 评测方式 题目来源
  3. 1000ms 131072KiB 标准比较器 Local
  4. 题目背景
  5. xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。
  6. 可是因为xqxz每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。
  7. 题目描述
  8. 每种花都有一个标识,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有的花束在放入花瓶时必须保持其标识数的顺序,即:杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。如果花瓶的数目大于花束的数目。则多余的花瓶必须空置,且每个花瓶中只能放一束花。
  9. 每种花放在不同的瓶子里会产生不同的美观程度,美观程度可能是正数也可能是负数。
  10. 上述例子中,花瓶与花束的不同搭配所具有的美观程度,如下表所示:
  11. 1 2 3 4 5
  12. 1 (杜鹃花) 7 23 -5 -24 16
  13. 2 (秋海棠) 5 21 -4 10 23
  14. 3 (康乃馨) -21 5 -4 -20 20
  15. 根据上表,杜鹃花放在花瓶2中,会显得非常好看;但若放在花瓶4中则显得十分难看。
  16. 为取得最大美观程度,你必须在保持花束顺序的前提下,使花束的摆放取得最大的美学值,并求出每种花应该摆放的花瓶的编号。
  17. 输入格式
  18. 1行:两个整数FV,表示xqxz一共有F种花,V个花瓶。(1<=F<=V<=100)
  19. 2行到第F+1行:每行有V个数,表示花摆放在不同花瓶里的美观程度值value。(美观程度和不超过maxint,美观程度有正有负。)
  20. 输出格式
  21. 输出有两行:第一行为输出最大美观程度和的值,第二行有F个数表示每朵花应该摆放的花瓶的编号。
  22. 提示
  23. 其实就是简单的DP,花店橱窗问题啦。
  24. 注意尽量靠前放啊!
  25. 样例数据
  26. 输入样例 #1 输出样例 #1
  27. 3 5
  28. 7 23 -5 -24 16
  29. 5 21 -4 10 23
  30. -21 5 -4 -20 20
  31. 53
  32. 2 4 5

简单的DP,枚举上一个花瓶放置的位置,记录路径的DP确实第一次写,好多小细节出问题,还是得多写写。

  1. //Stay foolish,stay hungry,stay young,stay simple
  2. #include<iostream>
  3. #include<stack>
  4. using namespace std;
  5. int n,m;
  6. int a[105][105];
  7. int f[105][105];
  8. int pre[105][105];
  9. int ans=-(1<<28),mxid;
  10. void print(int id,int pos){
  11. if(id==0||pos==0) return;
  12. print(id-1,pre[id-1][pos]);
  13. cout<<pos<<" ";
  14. }
  15. int main(){
  16. cin>>n>>m;
  17. for(int i=1;i<=n;i++){
  18. for(int j=1;j<=m;j++){
  19. cin>>a[i][j];
  20. f[i][j]=-(1<<28);
  21. }
  22. }
  23. for(int i=1;i<=n;i++){
  24. int tmp=0;
  25. for(int j=i;j<=m;j++){
  26. pre[i][j]=i-1;
  27. for(int k=i-1;k<j;k++){
  28. // f[i][j]=max(f[i-1][k]+a[i][j],f[i][j]);
  29. if(f[i-1][k]+a[i][j]>f[i][j]){
  30. f[i][j]=f[i-1][k]+a[i][j];
  31. pre[i][j]=k;//
  32. }
  33. }
  34. }
  35. }
  36. for(int i=n;i<=m;i++)
  37. if(ans<f[n][i])
  38. ans=f[n][i],mxid=i;
  39. cout<<ans<<endl;
  40. print(n,pre[n][mxid]);
  41. cout<<mxid<<endl;
  42. return 0;
  43. }

[JOYOI] 1124 花店橱窗的更多相关文章

  1. [IOI1999]花店橱窗布置(DP路径记录)

    题目:[IOI1999]花店橱窗布置 问题编号:496 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V ...

  2. 花店橱窗(flower)

    花店橱窗(flower) 题目描述 某花店现有f束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目.花束可以移动,并 ...

  3. 洛谷P1854 花店橱窗布置 分析+题解代码

    洛谷P1854 花店橱窗布置 分析+题解代码 蒟蒻的第一道提高+/省选-,纪念一下. 题目描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定 ...

  4. CH5E02 花店橱窗【线性DP】

    5E02 花店橱窗 0x5E「动态规划」练习 背景 xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里.但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的 ...

  5. RQNOJ PID496/[IOI1999]花店橱窗布置

    PID496 / [IOI1999]花店橱窗布置 ☆   题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序 编号 ...

  6. 【2018寒假集训 Day2】【2019.5.11更新】【动态规划】花店橱窗布置(FLOWER)

    花店橱窗布置(FLOWER) 提交文件名:flower 问题描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号, ...

  7. Joyoi花店橱窗(原tyvj1124)

    题目:http://www.joyoi.cn/problem/tyvj-1124 两点注意!!! 1.滚动数组的初始化: 2.字典序操作! 感到很有趣!!! #include<iostream& ...

  8. codevs1028花店橱窗布置(费用流)

    这几天刚学了费用流,找到了这道题来练一练手. 题目: 题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学 ...

  9. 【codevs1028】花店橱窗布置(费用流)

    这几天刚学了费用流,找到了这道题来练一练手. 题目: 题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学 ...

随机推荐

  1. redis主从集群搭建

    一.安装redis 首先登陆官网下载压缩包,我安装的是最新版本5.X,下载地址http://download.redis.io/releases/redis-5.0.2.tar.gz. 进入文件所在目 ...

  2. Hexo瞎折腾系列(6) - 将博客同时部署到Github和Coding

    前言 由于本人只是将Hexo博客同时部署到 Github 和 Coding.net ,所以这里只介绍怎么同时部署到这两个网站的pages. 之所以选择这两个网站,是因为国外用户可以访问 Github, ...

  3. Selenium | 基础入门 | 截屏并保存于本地

    可先参考   Selenium | 基础入门 | 利用Xpath寻找用户框 核心代码: //截屏操作 File srcFile = ((TakesScreenshot)driver).getScree ...

  4. Hdu 3966 Aragorn's Story (树链剖分 + 线段树区间更新)

    题目链接: Hdu 3966 Aragorn's Story 题目描述: 给出一个树,每个节点都有一个权值,有三种操作: 1:( I, i, j, x ) 从i到j的路径上经过的节点全部都加上x: 2 ...

  5. HTTP提交方式之PUT详细介绍及POST和PUT的区别

    Http定义了与 服务器的交互方法,其中除了一般我们用的最多的GET,POST 其实还有PUT和DELETE 根据RFC2616标准(现行的HTTP/1.1)其实还有OPTIONS,GET,HEAD, ...

  6. Xcode7.1环境下上架iOS App到AppStore 流程 转

    来自:http://www.cnblogs.com/ChinaKingKong/p/4957682.html 前言部分 之前App要上架遇到些问题到网上搜上架教程发现都是一些老的版本的教程 ,目前iT ...

  7. solr 统计中stats的一般用法

    //统计数据 根据查询条件 public String getStats(String ipName) { JSONObject obj; JSONArray pageArray = new JSON ...

  8. 如何在Windows2008 Server服务器上开启Ping或者禁PING

    方法1:命令行模式 进入服务器后 点击 开始--运行 输入命令: netsh firewall set icmpsetting 8 这样就可以在外部ping到服务器了 非常简单实用! 同样道理,如果想 ...

  9. 代码审查的艺术:Dropbox 的故事

    Dropbox 的 iOS 应用中的每一行代码,都是开始于被添加到 Maniphest 中的一个 bug 或者功能任务,Maniphest 是我们的任务管理系统.当一位工程师在上面接受一个任务,那么在 ...

  10. nginx 80端口重定向到443端口

    server { listen ; server_name www.域名.com; rewrite ^(.*)$ https://${server_name}$1 permanent; } serve ...