题解 【POJ1157】LITTLE SHOP OF FLOWERS
先把题目意思说一下:
你有F束花,编号为\(1\)~\(F\)(\(1<=F<=100\)),\(V\)个花瓶,编号为\(1\) ~\(V\)(\(1<=V<=100\)),
一束花只能放到一个花瓶里,一个花瓶只能放一束花,并且花必须按编号放入花瓶,
即若编号为\(a\)的花放到编号为\(b\)的花瓶里,那么编号为\(a+1\) ~\(F\)的花只能放在编号为\(b+1\) ~\(V\)的花瓶里,
并且,第\(i\)束花放到第\(j\)个花瓶有一个美丽值\(a_{i,j}\)(\(-50<=a_{i,j}<=50\)),求将所有花放入花瓶的最大的美丽值.
解析
这题其实就和背包一样...
我们设\(f[i][j]\)表示将前\(i\)束花放入前\(j\)个花瓶里的最大美丽值,
那么考虑状态转移,
对于当前枚举到的\(i\),\(j\),
要么把\(i\)放入\(j\)中,即\(f[i][j]=f[i-1][j-1]+a[i][j]\),
要么就不放,即\(f[i][j]=f[i][j-1]\),
所以,两重循环扫一遍就行了(是不是感觉好简单)
上代码吧:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
inline int read(){
int sum=0,f=1;char ch=getchar();
while(ch>'9' || ch<'0'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0' && ch<='9'){sum=sum*10+ch-'0';ch=getchar();}
return f*sum;
}
int n,m;
int a[1001][1001];
int f[1001][1001];
int main(){
n=read();m=read();
memset(f,-0x3f,sizeof(f));
for(int i=0;i<=m;i++) f[0][i]=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) a[i][j]=read();
for(int i=1;i<=n;i++){
for(int j=i;j<=m;j++) f[i][j]=max(f[i][j-1],f[i-1][j-1]+a[i][j]);
}
printf("%d\n",f[n][m]);
return 0;
}
题解 【POJ1157】LITTLE SHOP OF FLOWERS的更多相关文章
- [POJ1157]LITTLE SHOP OF FLOWERS
[POJ1157]LITTLE SHOP OF FLOWERS 试题描述 You want to arrange the window of your flower shop in a most pl ...
- POJ-1157 LITTLE SHOP OF FLOWERS(动态规划)
LITTLE SHOP OF FLOWERS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19877 Accepted: 91 ...
- POJ1157 LITTLE SHOP OF FLOWERS DP
题目 http://poj.org/problem?id=1157 题目大意 有f个花,k个瓶子,每一个花放每一个瓶子都有一个特定的美学值,问美学值最大是多少.注意,i号花不能出如今某大于i号花后面. ...
- sgu 104 Little shop of flowers 解题报告及测试数据
104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB 问题: 你想要将你的 ...
- SGU 104. Little shop of flowers (DP)
104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB PROBLEM Yo ...
- 快速切题 sgu104. Little shop of flowers DP 难度:0
104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB PROBLEM Yo ...
- poj1157LITTLE SHOP OF FLOWERS
Description You want to arrange the window of your flower shop in a most pleasant way. You have F bu ...
- POJ 1157 LITTLE SHOP OF FLOWERS (超级经典dp,两种解法)
You want to arrange the window of your flower shop in a most pleasant way. You have F bunches of flo ...
- [CH5E02] A Little Shop of Flowers
问题描述 You want to arrange the window of your flower shop in a most pleasant way. You have F bunches o ...
随机推荐
- 小记--------SparkContext初始化原理机制图解
- Spring4学习回顾之路02—IOC&DI
IOC&DI介绍 ●IOC:(Inversion of Control) :控制反转(反向获取资源) 其思想是反转资源获取的方向.传统的资源上查找方式要求组件向容器发起请求查找资源,作为回应, ...
- PAT A1020 Tree Traversals(25)
题目描述 Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder ...
- lnmp1.5部署laravel项目
毕竟laravel是十分有魅力的框架,忍不住想要深入的了解她,费话不多说,直入正题吧 1.composer切换国内镜像源:composer config -g repo.packagist compo ...
- T100——r类 凭证报表 打印
报表开发流程:1.建立入口程序 如r类的作业:cxmr500步骤: azzi900中建立程序代号 azzi910中建立作业代号 设计器--规格--签出 设计器--程序--签出 adzp168(r.a) ...
- Win32汇编之其他指令
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...
- 面试常考的js题目(二)
1. 已知 fn 为一个预定义函数,实现函数 curryIt,调用之后满足如下条件: 返回一个函数 a,a 的 length 属性值为 1(即显式声明 a 接收一个参数) 调用 a 之后,返回一个函数 ...
- github常用搜索技巧
1.在项目名称,readme文件和描述中包含关键字seckill的项目seckill in:name,readme,description 2.fork大于500,stars大于500springbo ...
- ES6新特性总结
一.let const var有缺陷:有块级作用域.能重复定义.无法限制修改.所以出来了let和const. 有块级作用域,不能重复定义 const不能修改,必须定义的时候赋值 二.解构赋值 1.左右 ...
- mysql 触发器 if then elseif else 的运用
create procedure dbname.proc_getGrade (stu_no varchar(20),cour_no varchar(10)) BEGIN declare stu_gra ...