[题目链接]

https://www.luogu.org/problemnew/show/P1854v

[算法]

f[i][j]表示放了前i束花,第i束花放在第j个花瓶中,所能获得的最大美学值

由于要输出方案,我们不妨对于每个状态记一个pre,最后沿着pre数组反推出方案即可

[代码]

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define MAXF 110
  4. const int INF = 2e9;
  5.  
  6. int i,j,k,now,pos,F,V;
  7. int a[MAXF][MAXF],f[MAXF][MAXF],pre[MAXF][MAXF];
  8. vector< int > path;
  9.  
  10. int main()
  11. {
  12.  
  13. scanf("%d%d",&F,&V);
  14. for (i = ; i <= F; i++)
  15. {
  16. for (j = ; j <= V; j++)
  17. {
  18. scanf("%d",&a[i][j]);
  19. }
  20. }
  21. for (i = ; i <= F; i++)
  22. {
  23. for (j = ; j <= V; j++)
  24. {
  25. f[i][j] = -INF;
  26. }
  27. }
  28. for (i = ; i <= F; i++)
  29. {
  30. for (j = ; j <= V; j++)
  31. {
  32. for (k = j - ; k >= ; k--)
  33. {
  34. if (f[i - ][k] + a[i][j] > f[i][j])
  35. {
  36. f[i][j] = f[i - ][k] + a[i][j];
  37. pre[i][j] = k;
  38. }
  39. }
  40. }
  41. }
  42. pos = ;
  43. for (i = ; i <= V; i++)
  44. {
  45. if (f[F][i] > f[F][pos])
  46. pos = i;
  47. }
  48. printf("%d\n",f[F][pos]);
  49. now = F;
  50. while (now)
  51. {
  52. path.push_back(pos);
  53. pos = pre[now][pos];
  54. now--;
  55. }
  56. reverse(path.begin(),path.end());
  57. for (i = ; i < path.size() - ; i++) printf("%d ",path[i]);
  58. printf("%d\n",path[path.size() - ]);
  59.  
  60. return ;
  61.  
  62. }

[IOI 1999] 花店橱窗布置的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. [动态规划]P1854 花店橱窗布置

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

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

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

  8. codevs 1028 花店橱窗布置

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整 ...

  9. AC日记——花店橱窗布置 codevs 1028

    题目描述 Description 假设以最美观的方式布置花店的橱窗,有F束花,V个花瓶,我们用美学值(一个整数)表示每束花放入每个花瓶所产生的美学效果.为了取得最佳的美学效果,必须使花的摆放取得最大的 ...

随机推荐

  1. 用 Swift 开发一个 TODO 应用

    背景 相信不少 iOS 程序员对于 Swift 依旧持以观望的态度,一来是这小家伙刚出来没几天,本身还处于完善的阶段:二来是学习的成本较高,看完官方文档怎么也要个几天的时间:三来是反正最近几年很难在工 ...

  2. jquery自动完成插件的使用

    .ui-autocomplete { z-index: !important; max-height: 100px; overflow-y: auto; /* 防止水平滚动条 */ overflow- ...

  3. lua lfs库

     lfs.attributes(filepath [, aname]) 获取路径指定属性    lfs.chdir(path) 改变当前工作目录,成功返回true,失败返回nil加上错误信息    l ...

  4. P1034 矩形覆盖

    题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见图一. 这 ...

  5. 微信小程序video组件出现无法播放或卡顿

    微信小程序使用video组件播放视频的时候,会出现卡顿或者无法播放的问题,加一个custom-cache=”true“即可解决,这个属性文档上没有,是从小程序开发社区中get到的.

  6. mysql的模糊查询

    mysql模糊查询like/REGEXP(1)like / not like MySql的like语句中的通配符:百分号.下划线和escape %:表示任意个或多个字符.可匹配任意类型和长度的字符. ...

  7. docker批量删除容器、镜像

    1.删除所有容器 docker rm `docker ps -a -q` docker rm $(docker ps -aq) 2.删除所有镜像 docker rmi `docker images - ...

  8. 使用DOS命令查找包含某一字符串的所有文件

      在windows系统下,来查找并修改指定目录下包含某一字符串的所有文件,麻烦又费时.其实在DOS命令中,提供了Findstr命令来查找指定的一个或多个文件文件中包含(或通过参数 /V来控制不包含) ...

  9. JS 100元购物卡,牙刷5元,香皂2元、洗发水15元 100元正好花完有多少种可能

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. GDI 像素(5)

    RGB 颜色 使用 RGB 宏可以创建一个由三个整数值(R.G.B)的 COLORREF 值. COLORREF RGB( BYTE byRed, // 红色值(R) BYTE byGreen, // ...