`
人生难得糊涂
  • 浏览: 117405 次
社区版块
存档分类
最新评论

POJ1157-动态规划花瓶插花

 
阅读更多

题目大意:有f朵花要插到v个花瓶里面去。。。不同的花插到不同的花瓶有不同的美观程度,求最大的美观程度,,还有一个限制条件,如i>j,则编号为i的花能插的花瓶编号也必须大于 编号为j的花所插花瓶的编号。(因为没有注意到这个条件,我想了n久~)。

好的我们说思路

理解题意后还是比较好写的,这里又有花又有花瓶的,肯定是用二维dp啦。假设dp[i][j],为第i朵花插到第j个瓶子中能获得的最大美观程度,dp[i][j]=max(dp[i-1][k]+a[i][j]),k>=i-1&& k<j  ,a[i][j]为给出的每朵花对应花瓶的美观程度.

 

 

#include "iostream"
using namespace std;
#define len 110
int main()
{
	int f,v;
	int i,j,k;
	int a[len][len];
	int dp[len][len];//dp[i][j] 表示第i朵花插到第j个瓶子的最大价值  dp[i][j]=max(dp[i-1][k]+a[i][k]);   
	scanf("%d",&f);
	scanf("%d",&v);
	for (i=0;i<f;i++)
	{
		memset(dp[i],0,sizeof(dp[i]));
		for (j=0;j<v;j++)
		{
			scanf("%d",&a[i][j]);
			if (i==0)
			{
				dp[i][j]=a[i][j];
			}
		}
		
	}
	
	for (i=1;i<f;i++)
	{
		for (j=i;j<v;j++)
		{
			int max=-999999;
			for (k=i-1;k<j;k++)
			{
				if (max<dp[i-1][k]+a[i][j])
				{
					max=dp[i-1][k]+a[i][j];
				}
			}
			dp[i][j]=max;
		}
	}

	int maxt=dp[f-1][0];

	for (i=0;i<v;i++)
	{
		if(maxt<dp[f-1][i])
			maxt=dp[f-1][i];
	}
	cout<<maxt<<endl;
	return 0;
}






 

0
0
分享到:
评论

相关推荐

    北大POJ初级-动态规划

    北京大学的在线编程竞赛平台POJ(Problem Online Judge)为初学者提供了一系列的编程题目,其中“北大POJ初级-动态规划”是专门为学习和训练这个主题设立的板块。在这个部分,学员可以通过解题报告和已通过验证(AC...

    POJ2002-Squares

    这个题目主要涉及到算法设计和实现,尤其是数学和动态规划方面的知识。 【描述】"解题报告+AC代码"表示这是一个已经解决并获得正确答案(Accepted)的编程挑战。解题报告通常包含了解决问题的思路、算法分析和优化...

    POJ3253-POJ3253-Fence Repair【STL优先队列】

    标题“POJ3253-POJ3253-Fence Repair【STL优先队列】”指的是一个在线编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。该题目要求参赛者使用C++编程语言解决特定的问题,并且在解决方案中...

    POJ1426-Find The Multiple【BFS+同余模】

    【标题】"POJ1426-Find The Multiple【BFS+同余模】"是一道来源于北京大学在线编程平台POJ的算法题目,主要涉及到了广度优先搜索(BFS)与同余模运算的知识点。这道题目要求解决的是寻找一个整数的倍数问题,可能...

    POJ1015-Jury Compromise【动态规划DP】

    【标题】"POJ1015-Jury Compromise" 是一个编程竞赛题目,主要涉及的是动态规划(Dynamic Programming, 简称DP)的算法应用。动态规划是一种解决复杂问题的有效方法,它通过将问题分解成子问题,并存储子问题的解来...

    POJ3020-Antenna Placement

    解决这类问题可能需要用到搜索算法(如深度优先搜索、广度优先搜索)、动态规划、贪心策略,甚至是数学建模。具体解题策略则需要查看解题报告和源代码才能得知。 总的来说,这个压缩包提供了从问题理解到解决方案的...

    poj 1000 - 2000 部分题目 官方分类

    4. **动态规划**:动态规划是一种解决复杂问题的有效方法,常常用于求解最优化问题。它要求解题者具备递推思想,能够构造状态转移方程。 5. **贪心策略**:贪心算法是通过每一步选择当前最优解来逼近全局最优解的...

    POJ1837-Balance

    解题的关键在于理解和应用适合的算法,比如动态规划、二分查找、平衡树操作等。在分析解题报告时,我们可以学习到如何分析问题、选择合适的算法,并在实际编程中实现这些思想。而AC代码则提供了具体的实现参考,展示...

    POJ1010-STAMPS

    该题目旨在考察参赛者对动态规划或贪心算法的理解与应用。 【描述】"北大POJ1010-STAMPS"解题报告+AC代码,意味着这是一个关于如何解决这个特定问题的详细解答,包含了问题分析、算法设计以及通过测试(Accepted,...

    魔兽世界终极版POJ的-测试数据

    这是魔兽世界终极版POJ的-测试数据,找了好久才找到的。 本来想设置为0积分,但是它居然自动收费(o_ _)ノ。 看传送门:https://pan.baidu.com/s/1cCIwW8psGDASu2JdZawG3Q

    POJ1416-Shredding Company

    `POJ1416-Shredding Company.cpp`是一个C++源代码文件,包含了实现动态规划算法的程序代码。`POJ1416-Shredding Company.doc`可能是解题报告,详细解释了解题思路、算法设计过程以及可能的优化措施。 详细知识点: ...

    POJ3414-Pots

    可能涉及排序、搜索、动态规划、贪心算法等经典方法。对于“Pots”问题,可能需要对 pots 进行有效的管理和操作,以达到某种最优目标。 4. **代码实现**:AC代码是指“Accepted”代码,即已经通过了所有测试用例的...

    POJ2503-Babelfish

    可能是利用动态规划、图论、贪心策略或是搜索算法。解题报告中会详细阐述这些思路,并且通过AC代码展示实际的实现过程。 在学习或参考这个解题报告和代码时,我们可以深入理解如何应用编程技巧和算法来解决实际问题...

    POJ1258-Agri-Net【Prim】

    【标题】"POJ1258-Agri-Net【Prim】" 是一个编程竞赛题目,来源于北京大学的在线评测系统POJ(Problem Online Judge)。这个题目主要涉及到图论中的一个重要算法——普里姆(Prim)算法。 【描述】"北大POJ1258-...

    POJ3080-Blue Jeans

    【压缩包子文件的文件名称列表】中,"POJ3080-Blue Jeans.cpp" 是提交给POJ平台的AC代码,可能包含了上述的动态规划解法,使用C++语言实现。"POJ3080-Blue Jeans.doc" 可能是解题报告文档,详细解释了解题过程和思路...

    POJ2299-Ultra-QuickSort

    【标题】"POJ2299-Ultra-QuickSort"是北京大学在线判题系统POJ上的一道编程题目,其主要涉及的算法是快速排序(Ultra-QuickSort)。快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出。它的基本思想是采用...

    POJ1003-Hangover

    AC代码则展示了如何用C++语言将这些思路转化为可执行的程序,其中可能运用了数组、字符串操作、循环、条件判断、递归、动态规划等基本编程元素,也可能涉及高级算法如贪心、二分查找、图论等。 为了深入理解这个...

    POJ1201-Intervals

    代码中可能会用到动态规划、贪心算法等策略,以求在满足题目要求的同时,保证算法的时间复杂度尽可能低,从而在POJ平台上获得AC状态。而解题报告则会详细解释这些算法的应用和选择原因,以及代码的具体实现细节。

    POJ3122-Pie

    解题时,程序员可能需要理解问题背后的数学模型,然后选择合适的数据结构(如链表、队列、栈、树等)和算法(如动态规划、贪心、回溯等)来求解。例如,如果问题是关于分割圆饼,可能需要处理角度计算和分配的问题;...

    POJ2525-Text Formalization【TrieTree】

    《POJ2525-Text Formalization:深入解析TrieTree》 在计算机科学的世界里,算法和数据结构是解决问题的关键。今天我们要探讨的是一个名为"POJ2525-Text Formalization"的问题,它涉及到一种高效的数据结构——Trie...

Global site tag (gtag.js) - Google Analytics