先把题目意思说一下:

你有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的更多相关文章

  1. [POJ1157]LITTLE SHOP OF FLOWERS

    [POJ1157]LITTLE SHOP OF FLOWERS 试题描述 You want to arrange the window of your flower shop in a most pl ...

  2. POJ-1157 LITTLE SHOP OF FLOWERS(动态规划)

    LITTLE SHOP OF FLOWERS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19877 Accepted: 91 ...

  3. POJ1157 LITTLE SHOP OF FLOWERS DP

    题目 http://poj.org/problem?id=1157 题目大意 有f个花,k个瓶子,每一个花放每一个瓶子都有一个特定的美学值,问美学值最大是多少.注意,i号花不能出如今某大于i号花后面. ...

  4. sgu 104 Little shop of flowers 解题报告及测试数据

    104. Little shop of flowers time limit per test: 0.25 sec. memory limit per test: 4096 KB 问题: 你想要将你的 ...

  5. 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 ...

  6. 快速切题 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 ...

  7. poj1157LITTLE SHOP OF FLOWERS

    Description You want to arrange the window of your flower shop in a most pleasant way. You have F bu ...

  8. 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 ...

  9. [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 ...

随机推荐

  1. 剑指offer6:旋转数组的最小数字

    1. 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一 ...

  2. LG P2822 NOIP2016D2T1 组合数问题

    一句话题意 给定n.m和k,求对于所有的i(0<=i<=n)和j(0<=j<=min(i,m)),有多少对(i,j)使\(C_i^j\)使k的倍数 数据范围 部分分.满分做法和 ...

  3. LeetCode 203——移除链表(JAVA)

    删除链表中等于给定值 val 的所有节点. 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4 ...

  4. Jmeter之断言(响应断言,断言持续时间)

    断言是测试环节中,十分重要的一节. 响应结果是否正确,可以通过断言判断,无需人工确认. 1.为请求添加断言 常使用:响应断言>Bean Shell断言>断言持续时间 2.响应断言 ●常用来 ...

  5. Centos系统修改docker默认网络参数

    刚Yum装完发现是没有网上所说的/etc/default/docker文件的,自己vim后其实也是不生效的. 因为Docker的systemd启动脚本(/usr/lib/systemd/system/ ...

  6. 8.bash编辑命令行

    8.编辑命令行本章介绍 GNU 命令行编辑界面的基本功能.命令行编辑是 Readline 库提供的:这个库被几个不同的程序共用,Bash 是其中一个.使用交互式的 shell 时,默认已经打开了命令行 ...

  7. TreeMap——实现comparable接口并重写CompareTo方法

    public class TreeMapTest { public static void main(String[] args) { Map<Student,Integer> stude ...

  8. HTML——b i del a p img h1 h2 h3 h4 h5 h6 hr ol ul 标签的使用方法详解

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

  9. 解决VS2005打开js,css,asp.php等文件,中文都是乱码的问题

    用记事本打开可以正常观看但是用VS2005编辑器打开JS,中文确实乱码. 解决办法:在VS 2005 的设置里面选择自动检测Utf-8:“工具”->“选项”->“文本编辑器”->“自 ...

  10. (三)创建基于maven的javaFX+springboot项目创建

    创建基于maven的javaFx+springboot项目有两种方式,第一种为通过非编码的方式来设计UI集成springboot:第二种为分离用户界面(UI)和后端逻辑集成springboot,其中用 ...