花店橱窗布置(IOI)

一道有意义的动归题(nkoj1005花店橱窗布置(IOI)) nkoj1005花店橱窗布置(IOI) 题目描述 假设你想以最美观的方式布置花店的橱窗,你有F束花,每束花的品种都不一样,同时,你至少有同样数量的花瓶,被按顺序摆成一行。花瓶的位置是固定的,并从左至右,从1至V顺序编号,V是花瓶的数目,编号为1的花瓶在最左边,编号为V的花瓶在最右边。花束则可以移动,并且每束花用1至F的整数唯一标识。标识花束的整数决定了花束在花瓶中排列的顺序,即如果i<j,则花束... 阅读详情

花店橱窗布置(IOI)

Time Limit:1000MS  Memory Limit:65536K

Description

假设你想以最美观的方式布置花店的橱窗,你有F束花,每束花的品种都不一样,同时,你至少有同样数量的花瓶,被按顺序摆成一行。花瓶的位置是固定的,并从左至右,从1至V顺序编号,V是花瓶的数目,编号为1的花瓶在最左边,编号为V的花瓶在最右边。花束则可以移动,并且每束花用1至F的整数唯一标识。标识花束的整数决定了花束在花瓶中排列的顺序,即如果i<j,则花束i必须放在花束j左边的花瓶中。 
例如,假设社鹃花的标识数为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中则显得很难看。 为取得最佳美学效果,你必须在保持花束顺序的前提下,使花束的摆放取得最大的美学值,如果具有最大美学值的摆放方式不止一种,则其中任何一种摆放方式都可以接受,但你只可输出其中一种摆放方式。 
假设条件(Asumption) 1≤F≤100,其中F为花束的数量,花束编号从1至F. F≤V≤100,其中V是花瓶的数量。 -50≤Aij≤50,其中Aij小是花束i在花瓶j中时的美学值。

Input

第一行包含两个数:F,V 
随后的F行中,每行包含V个整数,Aij即为输入文件中第(I+1)行中的第j个数。

Output

第一行是程序所产生摆放方式的美学值。 

Sample Input

3 5 
7 23 -5 -24 16 
5 21 -4 10 23 
-21 5 -4 -20 20

Sample Output

53 

Source

IOI1999


#include <cstdio>
using namespace std;
#define maxn 101
#define inf 2100000000
inline void _read(int& d)
{
	char t=getchar();bool f=false;
	while(t<'0'||t>'9') {if(t=='-') f=true; t=getchar();}
	for(d=0;t<='9'&&t>='0';t=getchar()) d=d*10+t-'0';
	if(f) d=-d;
}
inline void _out(int d)
{
	int o[30],top=1;
	if(d==0){putchar('0');return ;}
	if(d<0) {putchar('-');d=-d;}
	while(d)
	{
		o[top++]=d%10;
		d/=10;
	}
	for(--top;top;--top) putchar('0'+o[top]);
}
int g[maxn][maxn], dp[maxn][maxn];
int main()
{
	int f, v, i, j, k, rightmax;
	_read(f), _read(v);
	for(i=1; i<=f; i++)
	{
		for(j=1; j<=v; j++)
		{
			_read(g[i][j]);
			if(i==1)	dp[i][j]=g[i][j];
			else
			{
				rightmax=-inf;
				for(k=1; k<j; k++)
				{
					if(dp[i-1][k]>rightmax)	rightmax=dp[i-1][k];
				}
				dp[i][j]=rightmax+g[i][j];
			}
		}
	}
	for(rightmax=-inf, i=1; i<=v; i++)
	{
		if(dp[f][i]>rightmax)	rightmax=dp[f][i];
	}
	_out(rightmax);
	return 0;
}


71、1279:【例9.23】橱窗布置(flower)-2020.02.08(a).pdf 71、1279:【例9.23】橱窗布置(flower)-2020.02.08 立即下载

相关推荐

【飞腾平台安装windows arm 11系统】

本文提供国内的百度网盘链接供下载使用:链接: https://pan.baidu.com/s/1_cftVdoX40k0M6zVTmFq8Q?3)快速迁移虚拟机技巧:如果是迁移已经安装好的虚拟机的使用场景,除了导出镜像外,也可直接复制安装好虚拟机的整个文件夹到指定的存储目录,选定好其中的任意qcow2文件后即可快速启动。可在飞腾软件平台点击网盘链接获取对应系统的deb包(麒麟和统信)以及phyvirt·app,下载地址:https://www.phytium.com.cn/developer/

firefly_cv的博客 8934

【题解】花店橱窗

题目描述:假设你想以最美观的方式布置花店的橱窗。现在你有F束不同品种的花束,同时你也有至少同样数量的花瓶被按顺序摆成一行。这些花瓶的位置固定于架子上,并从1至V顺序编号,V是花瓶的数目,从左至右排列,则最左边的是花瓶1,最右边的是花瓶V。花束可以移动,并且每束花用1至F间的整数唯一标识。标识花束的整数决定了花束在花瓶中的顺序,如果I<J,则令花束I必须放在花束J左边的花瓶中。   例如,假设一束杜...

鹭天 1273

专有钉钉小程序(浙政钉)开发搭建流程总览

最近公司有一个项目要做浙政钉,让我来负责做。靠,我一脸懵,开发了两年多不知道浙政钉是啥,感觉我眼界还是低了。然后就去百度、同事问了一圈才知道就是个钉钉小程序嘛,然后发布到浙政钉上了。就搭建项目跑起来我都肥了很多事,中间走了很多坑。正好领导让我写《钉钉小程序前端开发流程》,这想着也写个博客吧。下面就是整个流程及我所遇到的坑!

m0_53910290的博客 6355

花店橱窗布置

题目链接:https://www.luogu.org/problem/P1854 因为花瓶和花束的相对顺序都是固定的,所以用f[i][j]表示前i个花瓶里面放前j束花最大利益。对于第j朵花来说,他可以放到位置从i-j都是ok的。所以我们可以枚举这个花的位置j+k,用f[j+k-1][j-1]+a[j][j+k]来更新答案。 (感觉上并不是很难嗯哼) 但这个题还要输出方案。 对于最终结果f[...

Mmm040403的专栏 337

Android Camera性能优化概述

做camera性能优化方面的工作有几年了,想写一篇文章简单介绍一下其中涉及到的具体技术,这篇文章会大概介绍一下涉及到的技术。

weixin_42136255的博客 4023

CPRI原理及应用--帧结构

对于CPRI 控制字,协议将1个超帧(256基本帧)的控制数据划分为一个“子通道”,将子通道内超帧内的控制字进行行列划分,分为4列X64行,每64个基本帧组成1列。如下图所示。每个Xs子通道内Ns的定义基本相同,在做控制字设计时,主要已Xs和Ns和X.Y.Z开展控制字映射。

u014035968的博客 2325

dp训练

1. 假设你想以最美观的方式布置花店的橱窗。现在你有F束不同品种的花束,同时你也有至少同样数量的花瓶被按顺序摆成一行。这些花瓶的位置固定于架子上,并从1至V顺序编号,V是花瓶的数目,从左至右排列,则最左边的是花瓶1,最右边的是花瓶V。花束可以移动,并且每束花用1至F间的整数唯一标识。标识花束的整数决定了花束在花瓶中的顺序,如果I<J,则令花束I必须放在花束J左边的花瓶中。  例如,假设一束杜鹃花...

weixin_30871701的博客 296

Synology File Station 官方 API 指南总结(中文版)

本文总结了Synology File Station官方API指南的核心内容,详细介绍了如何通过HTTP/HTTPS请求与DSM系统交互实现文件管理功能。主要内容包括: 基础API操作流程:从获取API信息、登录认证到执行请求和登出的完整工作流 请求构造与响应解析:JSON格式的请求参数处理和响应结果分析 关键API功能分类: 文件信息获取(List/Info) 文件搜索(Search) 收藏夹管理(Favorite) 缩略图生成(Thumb) 目录大小计算(DirSize) 文件上传(Upload)等 错

weixin_46001686的博客 2455

信息学奥赛一本通 1279:【例9.23】橱窗布置(flower) 动态规划经典题

假设以最美观的方式布置花店的橱窗,有F束花,每束花的品种都不一样,同时,至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,并从左到右,从1到V顺序编号,V是花瓶的数目,编号为1的花瓶在最左边,编号为V的花瓶在最右边,花束可以移动,并且每束花用1到F的整数惟一标识,标识花束的整数决定了花束在花瓶中列的顺序即如果i

长春高老师编程 858

STM32F103C8T6与OV7670摄像头在TFT屏上的实时数字识别系统实现

本文详细介绍了基于STM32F103C8T6单片机和OV7670摄像头实现实时数字识别系统的全过程。系统通过图像采集、预处理、二值化和模板匹配算法,在TFT屏上实时显示识别结果,并针对资源受限的单片机环境提供了内存与性能优化策略,适用于智能家居、工业仪表读数等低成本嵌入式视觉应用场景。

open4的博客 278

SpringBoot4.0+JDK25+GraalVM实战:云原生新纪元,微服务性能翻倍的落地指南

三者的组合不是偶然,而是“框架优化+JDK升级+虚拟机革新”的必然结果——SpringBoot4.0完善了对GraalVM原生镜像的支持,JDK25强化了云原生与AOT编译能力,GraalVM则提供了极致的启动速度和资源利用率,三者协同,刚好命中云原生微服务的核心痛点。SpringBoot4.0+JDK25+GraalVM的组合,不是简单的版本升级,而是云原生微服务的一次性能革命。

2601_94871597的博客 1141

[区间动规] 花店橱窗布置

题目描述 假设你想以最美观的方式布置花店的橱窗。现在你有F束不同品种的花束,同时你也有至少同样数量的花瓶被按顺序摆成一行。这些花瓶的位置固定于架子上,并从1至V顺序编号,V是花瓶的数目,从左至右排列,则最左边的是花瓶1,最右边的是花瓶V。花束可以移动,并且每束花用1至F间的整数唯一标识。标识花束的整数决定了花束在花瓶中的顺序,如果I<J,则令花束I必须放在花束J左边的花瓶中。 例如,假

侯山窝矿工 659

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之Port模块配置详解(MCAL配置)

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之Port模块配置详解(MCAL配置)

weixin_42412049的博客 2276

IOI 1999 花店橱窗布置(DP)

当年的难题(大概吧),今天的水题

Build 610

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【IOI 1999】花店橱窗布置(记忆化搜索)

先打一个最裸的暴力再优化 10分代码 // luogu-judger-enable-o2 #include&lt;bits/stdc++.h&gt; #define N 105 using namespace std; int n,m,a[N][N],true_ans,choose[N]; //n束花 m个瓶子 vector &lt;int&gt; q; void dfs(int no...

Patrickpwq 357

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

P1854 [IOI1999] 花店橱窗布置

例如,假设杜鹃花的标识数为 1,秋海棠的标识数为 2,康乃馨的标识数为 3,即杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。每个花瓶的形状和颜色也不相同,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果,并以美学值(一个整数 aij​)来表示,空置花瓶的美学值为 0。花瓶的位置是固定的,从左到右按 1∼V 顺序编号,V 是花瓶的数目。为了取得最佳的美学效果,必须在保持花束顺序的前提下,使花的摆放取得最大的美学值,如果具有最大美学值的摆放方式不止一种,则输出任一种方案即可。

zqystca的博客 505

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

《P1854 [IOI 1999] 花店橱窗布置》

【摘要】题目要求在保持花束编号顺序的前提下,将F束花放入V个(V≥F)编号递增的花瓶中,使总美学值最大。输入为F×V的美学值矩阵,输出最大美学值及对应摆放方案。示例输入3束花5个花瓶,输出最大美学值53及方案2 4 5。解题思路采用深度优先搜索结合记忆化剪枝,通过维护当前最优值来优化搜索过程。算法时间复杂度为O(FV),适用于F,V≤100的数据规模。

Jasmine_llq的博客 828

[IOI 1999] 花店橱窗布置

[题目链接] https://www.luogu.org/problemnew/show/P1854v [算法] f[i][j]表示放了前i束花,第i束花放在第j个花瓶中,所能获得的最大美学值 由于要输出方案,我们不妨对于每个状态记一个pre,最后沿着pre数组反推出方案即可 [代码] #includ...

219

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

题目:[IOI1999]花店橱窗布置 问题编号:496 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目。花束可以移动,并且每束花用1到F的整数标识。如果I 每个花瓶的形状和颜色也不相同,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果,并以美学值(一个整数)来

记录成长的点点滴滴. . . . . 2695

IOI1999 花店橱窗布置

Luogu 这可能是继数字金字塔后IOI最水的一道题了。(然而我也就只能做这种水题 设\(dp[i,j]\)表示第\(i\)行选到第\(j\)个最优解,状态转移方程很显然,如下 \[dp[i,j]=\max_{i-1\le k<j}\{dp[i-1,k]+A[i,j]\}\] 其中\(A[i,j]\)表示的是第\(i\)束花插♂在第\(j\)个花盆中的美学值。 然后一个sb喜闻乐见的因为没有...

weixin_30536513的博客 213

IOI 花店橱窗布置

动态规划

Orion_Rigel 511

IoI99_花店橱窗布置问题(普通DP)

提交链接:http://218.5.5.242:9014/problem.asp?id=1168 是个普通的dp问题,以花的idx划分阶段,每个阶段的状态:dp[i][j]表示第i束花,放在第j个花瓶中的max val 每个阶段的状态转移方程: dp[i][j] = max(dp[i-1][k]+val[i][j], dp[i][j]), (0 < k < j) ans = max(dp[row]

unixcsir的专栏 1036

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

很水,我却做了很久,唉,细节的东西没处理好。。。 又要顺序又要最大的,看上去感觉就和LCS一样,很容易想出状态转移公式:dp[i,j] = max{dp[i - 1][j - 1] + a[i][j], dp[i - 1][j]}. AC代码如下: #include const int maxn = 100 + 10; const int min = -1000000; int a[max

水果君の日常 2044

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

PID496 / [IOI1999]花店橱窗布置 ☆ 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序 编号,V是花瓶的数目。花束可以移动,并且每束花用1到F的整数标识。如果I < J,则花束I必须放在花束J左边的花瓶中。例如,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识...

weixin_30737363的博客 125
上一篇: 背包问题5
下一篇: 分配机器
Formiko
博客等级 码龄11年 20粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值