[动态规划]花店橱窗 线性动归

题解:洛谷 P1854 花店橱窗布置 题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。为了取得最佳的美学效果,必须在保持花束顺序的前提下,使花的摆放取得最大的美学值,如果具有最大美学值的摆放方式不止一种,则输出任何一种方案即可。每个花瓶的形状和颜色也不相同,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果,并以美学值(一个整数。花瓶的位置是固定的,从左到右按。,即杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。输出文件的第一行是一个整数,为最大的美学值; 阅读详情
背景 Background
xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。
可是因为xq和xz每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。


描述 Description
每种花都有一个标识,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有的花束在放入花瓶时必须保持其标识数的顺序,即:杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。如果花瓶的数目大于花束的数目。则多余的花瓶必须空置,且每个花瓶中只能放一束花。

每种花放在不同的瓶子里会产生不同的美观程度,美观程度可能是正数也可能是负数。

上述例子中,花瓶与花束的不同搭配所具有的美观程度,如下表所示:

花 瓶

1 2 3 4 5
1 (杜鹃花) 7 23 -5 -24 16
2 (秋海棠) 5 21 -4 10 23
3 (康乃馨) -21 5 -4 -20 20


根据上表,杜鹃花放在花瓶2中,会显得非常好看;但若放在花瓶4中则显得十分难看。

为取得最大美观程度,你必须在保持花束顺序的前提下,使花束的摆放取得最大的美学值,并求出每种花应该摆放的花瓶的编号。
输入格式 Input Format
第1行:两个整数F和V,表示xq和xz一共有F种花,V个花瓶。(1<=F<=V<=100)
第2行到第F+1行:每行有V个数,表示花摆放在不同花瓶里的美观程度值value。(美观程度和不超过maxint,美观程度有正有负。)
输出格式 Output Format
输出有两行:第一行为输出最大美观程度和的值,第二行有F个数表示每朵花应该摆放的花瓶的编号。
样例输入 Sample Input [复制数据]

样例输出 Sample Output [复制数据]

时间限制 Time Limitation

各个测试点1s


简单的线性动归。

f[i,j]表示前i种花,第i种花放在第j个花瓶里的最大值。

则只需要枚举k作为前一种花所放的花瓶。

f[i,j]=max(f[i-1,k]+a[i,j])  i-1<=k<=j-1


如何构造这个解,类比于算导。

如果f[i,j]被更新,那么g[i,j]表示上一次的k

递归求出解


var i,j,k,n,m,ans,tot:longint;
    f,a,g:array[-20..120,-20..120]of longint;
    s:array[-20..120]of longint;
function max(a,b:longint):longint;
begin
    if a>b then exit(a) else exit(b);
end;

procedure work(i,j:longint);
begin
    if i<0 then exit;
    s[tot]:=j;
    dec(tot);
    work(i-1,g[i,j]);
end;

begin
    fillchar(g,sizeof(g),0);
    fillchar(f,sizeof(f),-$7f);
    readln(n,m);
    for i:=1 to m do
    f[0,i]:=0;tot:=0;
    for i:=1 to n do
    for j:=1 to m do
    read(a[i,j]);

   for i:=1 to n do
    begin
       tot:=tot+a[i,i];
       f[i,i]:=tot;
    end;
    for i:=1 to n do
    for j:=i to m do
    begin
        for k:=i-1 to j-1 do
        begin
          if f[i,j]<f[i-1,k]+a[i,j] then g[i,j]:=k;
          f[i,j]:=max(f[i,j],f[i-1,k]+a[i,j]);
        end;
    end;

    ans:=0;
    for i:=1 to m do
    if ans<f[n,i] then ans:=f[n,i];
    tot:=n;
    for i:=1 to m do
    begin
        if f[n,i]=ans then
        begin
            k:=i;
            break;
        end;
    end;
    work(n,k);
    writeln(ans);
    for i:=1 to n do write(s[i],' ');
    readln;readln;
end.








Mac安装Weblogic教程 1.Weblogic的下载 这次安装的是最新版本12 官网下载地址: http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html 下载需要登录账号,如没有账号要注册一个 下载后的文件如下图,其中fmw_12.2.1.3.0_wls_quick.jar文件就是安装包了,注意现在不要对它进行解压 2.安装前的确... 阅读详情

相关推荐

【AIOPS实战】Dify+Zabbix:构建智能告警分析助手的核心架构与实现

本文详细介绍了如何利用Dify平台与Zabbix-MCP接口构建智能告警分析助手,实现自然语言查询告警、智能分析和报告生成。该系统通过AIOPS技术显著提升运维效率,支持中英文混合查询、自动根因分析,并内置多种优化方案确保稳定可靠。

weixin_29238147的博客 318

合并康乃馨(贪心)

母亲节要到了,蜗蜗打算给全蜗蜗国的母亲都发一束康乃馨(一种花的名字)。现在有 n� 堆康乃馨,这 n� 堆康乃馨分别有 a1,a2,…,an�1,�2,…蜗蜗想把它们合并成一堆。每次合并,他都会选择目前花朵数最少的两堆康乃馨去合并,两堆康乃馨合并之后变成了一堆康乃馨,这堆康乃馨的花朵数量等于原来两堆的花朵数量之和,并且蜗蜗在合并的时候会消耗体力值,每次合并他消耗的体力值是这两堆康乃馨的花朵数量之和。按照这样的方式,n� 堆康乃馨最后会被合并成一堆康乃馨,请问这个过程中,蜗蜗总共消耗了多少体力值?

w_w_wwwww的博客 354

鲁棒优化入门(一)——工具箱Xprog和RSOME的安装与使用

Xprog是由新加坡国立大学的Peng Xiong于2016年发布的一款matlab工具箱,可以用于求解确定性优化、随机优化、鲁棒优化和分布式鲁棒优化问题。 还有一个针对鲁棒随机优化设计的matlab工具箱——RSOME(Robust Stochastic Optimization Made Easy),也可以用来解决一般的线性规划、随机规划、鲁棒优化和数据驱动的分布式鲁棒优化问题。...............

配电网和matlab的博客 1万+

「线性DP」花店橱窗

​ 每种花都有一个标识,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有的花束在放入花瓶时必须保持其标识数的顺序,即: 杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。为取得最大美观程度,你必须在保持花束顺序的前提下,使花束的摆放取得最大的美学值,并求出每种花应该摆放的花瓶的编号。​ 但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。​ 每种花放在不同的瓶子里会产生不同的美观程度,美观程度可能是正数也可能是负数。

XiaoLing 一直摆烂哇! 514

南京邮电大学电工电子基础B实验六(组合逻辑电路)

南京邮电大学电工电子基础B实验五(组合逻辑电路);电工电子;南京邮电大学;计算机学院;实验报告;电路图;

亦是远方的小地方 1万+

ZY1-02D (ZY1E)多光谱数据预处理

资源一号02D卫星(5米光学卫星)于2019年9月12日成功发射,卫星搭载的两台相机,可有效获取115公里幅宽的9谱段多光谱数据以及60公里幅宽的166谱段高光谱数据,其中全色谱段分辨率可达2.5米、 多光谱为10米、高光谱优于30米,高光谱载荷可见近红外和短波红外光谱分辨率分别达到10纳米和20纳米。

热爱分享,热爱记录 4829

花店橱窗(线性DP+输出方案)

花店橱窗 题目描述: 小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。   可是因为小q和小z每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。   ...

qq_43627100的博客 343

黑猫带你学UFS协议第23篇:UFS固件升级操作详解(FFU)

摘要:本文介绍了UFS固件更新(FFU)的实现方法与注意事项。根据UFS3.1 JEDEC协议,FFU通过write buffer命令(MODE=0Eh)下载FW固件,随后必须进行power cycle或硬件复位生效。文章详细阐述了FFU操作的10条规则,包括数据分片传输要求、寄存器访问限制等,同时指出协议未明确的厂商实现差异。关键寄存器包括bFFUTimeout、bDeviceFFUStatus和fPermanentlyDisableFwUpdate。

黑猫奥利奥的博客 1万+

花店橱窗 动态规划 题解

啊! 整整一个小时 调出了这道卡死人的动态规划题~ 非常激动 题目内容如下 1090: B10-动态规划-花店橱窗 时间限制: 1 Sec内存限制: 128 MB提交: 13解决: 7[提交] [状态] [讨论版] [命题人:外部导入] 题目描述 xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。但是他们有很多花瓶,...

weixin_30451709的博客 400

使用HART Server PC软件进行HART设备的组态、调试和分析的完整指南

HART协议是一种用于工业自动化中的双向通信协议,能够在4-20mA模拟信号的基础上叠加数字信号,从而实现设备的远程监控和管理。HART协议兼具模拟和数字通信的优点,被广泛应用于过程控制系统中。设备组态:通过软件可以对HART设备进行组态,配置设备参数。设备调试:支持设备的在线调试和故障诊断,方便快速解决问题。数据分析:提供设备运行数据的实时监控和历史数据分析功能。报表生成:支持生成各类报表,便于数据记录和管理。

qq_38334677的博客 2468

小梅哥Xilinx ZYNQ学习笔记2——38译码器

译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。1.case开始开始,endcase结束;2.数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。

m0_51430584的博客 1636

花店橱窗(线性dp)

花店橱窗 小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。 但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。 为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。 可是因为小q和小z每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所...

diandong9381的博客 501

HFSS仿真PCB射频通路间的隔离度

本文介绍HFSS方式仿真带有器件的射频通路间的隔离度,可视为CST方式的补充,二者的结果相互参照。在前期靠仿真确认风险点时,可以作为一种较为直观和可信的手段。

sinat_15150363的博客 1524

花店橱窗(线性dp&&输出具体方案)

小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。 但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。 为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。 可是因为小q和小z每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。 每种花都有一个标识,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有的花束在放入花瓶时必须保持其标识数的顺序,

Mr_Kingk的博客 994

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

花店橱窗 (线性dp)

花店橱窗 链接:https://ac.nowcoder.com/acm/contest/24213/1005 题目描述 小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。 但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。 为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。 可是因为小q和小z每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。 每种花都有一个标识

沐白白的博客 321

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

花店橱窗(线性DP)

题目描述 小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。 但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。 为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。 可是因为小q和小z每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。 每种花都有一个标识,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有的花束在放入花瓶时必须保持其标识数的顺序

m0_60610120的博客 462

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

ybt 1279:【例9.23】橱窗布置(flower) 洛谷 P1854 花店橱窗布置 吐槽:一本通中给的测试数据中,负号是全角负号!怪不得每次数据读不完程序就结束了。还是用洛谷的测试数据吧。集合:摆花的方案 限制:选择前几束花,放在前几个瓶子中 属性:美学值 条件:最大 统计量:美学值 状态定义::将前i束花放入前j个瓶子中,美学值最大的方案的美学值。 初始状态:前0束花放入j个花瓶中,美学值为0。所以。记将第i束花放入第j个瓶子得到的美学值为。 集合:将前i束花放入前j个瓶子 本题分割集合的方法有两种

君义NOIP的博客 2542

动态规划实战:花店橱窗布置的最优美学方案解析

本文以花店橱窗布置为实例,深入解析了动态规划算法的核心思想与应用。通过定义状态、推导状态转移方程,并提供了两种代码实现方案(三重循环与二重循环),详细讲解了如何高效求解最大美学值总和问题。文章还探讨了动态规划在最长公共子序列、编辑距离等经典问题中的拓展应用,并总结了实战中的常见陷阱与避坑指南。

weixin_28365523的博客 206

[线性dp]:花店橱窗(路径记录)

题目链接:登录—专业IT笔试面试备考平台_牛客网 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 描述: 小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。 但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。 为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。 可是因为小q和小z每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。 每种花都

qq_62539009的博客 266

花店橱窗-----线性DP

这题写了整整一晚上,呜呜呜呜~,太菜了。。。。 dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp dp 花店橱窗 题目链接 解一: f[i][j]表示前i朵花里边选且,第i朵花放在 第j个花瓶的最大值 状态转移方程: f[i][j]=max(f[i-1][1],f[i-1][2],.....f[i-1][k],....f[i-1][j-1])+w[i][j](其中k<j) 同时要求本题输出最大路径:用p[i][j]

ZZU_LGY 279

石子合并(1)(2)&&花店橱窗

石子合并1:

23333333 757

信息学奥赛必刷题:花店橱窗布置的两种DP解法对比与优化

本文深度剖析信息学奥赛经典题目“花店橱窗布置”的动态规划解法。对比了直观但低效的三重循环枚举法与精妙的二重循环决策法,重点解析了后者如何将时间复杂度优化至O(F*V),并详细说明了状态定义、转移方程、边界处理及方案输出等关键实现细节,帮助选手高效备战。

backprop5master的博客 434

CH5E02 花店橱窗【线性DP】

5E02 花店橱窗0x5E「动态规划」练习 背景 xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。可是因为xq和xz每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程...

weixin_30340819的博客 182

花店橱窗 线性dp

Description 每种花都有一个标识,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有的花束在放入花瓶时必须保持其标识数的顺序,即:杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。如果花瓶的数目大于花束的数目。则多余的花瓶必须空置,且每个花瓶中只能放一束花。 每种花放在不同的瓶子里会产生不同的美观程度,美观程度可能是正数也可能是负数。 上述例子中,花瓶与花束的不同搭配所具有的美观程度,如下表所示: 花 瓶

m0_50219534的博客 176

AcWing 313. 花店橱窗 (线性DP)打卡

题目:https://www.acwing.com/problem/content/315/ 题意:有一个矩阵,你需要在每一行选择一个数,必须保证前一行的数的下标选择在下一行的左边,即下标有单调性,然后求最大值,并且输出选择的路径 思路:线性DP,两维状态 dp[n][m] ,前n个位置选择m个数的最大价值,因为可以隔开,然后我们枚举中介,是由前一行的哪个位置来推出当前位置的最大...

weixin_30649641的博客 160

313. 花店橱窗(lis,线性dp)

限制条件: 花束摆放的标号必须严格上升 每个花放在不同瓶子会有不同的美观程度 必须放满所有种花 分析 解决动态规划问题的一个经典思考方法是:暴力怎么做? 暴力问题自然是首先枚举第一个花放在哪里,然后第二个花放在哪里...以此类推,直到放完所有的花。时间复杂度为O(n!) 我们可以发现,放每一朵花都存在一种递推关系,而且影响后面的花放置的因素只有当前的花的位置和当前是第几朵花。存在着重叠子问题,当前这个位置放过第i种花,那么我们就可以先记录下来... 动态规划 原问题:有n种花在m..

qq12323qweeqwe的博客 443
上一篇: [单调栈]「Poetize4」玉蟾宫
下一篇: [noip2009 T3][topsort+dp]最优贸易
UtralK
博客等级 码龄14年 3粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值