poj3186 Treats for the Cows
http://poj.org/problem?id=3186
| Time Limit: 1000MS | Memory Limit: 65536K | |
| Total Submissions: 4041 | Accepted: 2063 | 
Description
The treats are interesting for many reasons:
- The treats are numbered 1..N and stored sequentially in single file in a long box that is open at both ends. On any day, FJ can retrieve one treat from either end of his stash of treats.
- Like fine wines and delicious cheeses, the treats improve with age and command greater prices.
- The treats are not uniform: some are better and have higher intrinsic value. Treat i has value v(i) (1 <= v(i) <= 1000).
- Cows pay more for treats that have aged longer: a cow will pay v(i)*a for a treat of age a.
Given the values v(i) of each of the treats lined up in order of the index i in their box, what is the greatest value FJ can receive for them if he orders their sale optimally?
The first treat is sold on day 1 and has age a=1. Each subsequent day increases the age by 1.
Input
Lines 2..N+1: Line i+1 contains the value of treat v(i)
Output
Sample Input
5
1
3
1
5
2
Sample Output
43
Hint
Five treats. On the first day FJ can sell either treat #1 (value 1) or treat #5 (value 2).
FJ sells the treats (values 1, 3, 1, 5, 2) in the following order of indices: 1, 5, 2, 3, 4, making 1x1 + 2x2 + 3x3 + 4x1 + 5x5 = 43.
n-j+i是天数,通过一个一个找出的规律。
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int dp[][];
int main()
{
int n,i,g,k,v[],j;
while(~scanf("%d",&n))
{
memset(dp,,sizeof(dp));
for(i=;i<n;i++)
{
scanf("%d",&v[i]);
dp[i][i]=v[i]*n;//初始化,从最后出对往前推,假设每个都是最后出对。
}
for(k=;k<=n;k++)
{
for(i=;i<n-k;i++)
{
j=i+k;
dp[i][j]=max(dp[i+][j]+v[i]*(n-j+i),dp[i][j-]+v[j]*(n-j+i));
//这里是从最后出队的开始往前推,因为只有最后出队的,
//i+1才会等于j。
}
}
printf("%d\n",dp[][n-]);
}
return ;
}
/*#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int i,t,a[2005],j,ans,n;
while(~scanf("%d",&t))
{
ans=0;n=1;
for(i=0;i<t;i++)
scanf("%d",&a[i]);
i=0;j=t-1;n=1;
while(n<=t)
{ if(a[i]<a[j])
{
ans+=a[i]*n;
printf("ans=%d\n",ans);
i++;
}
else
{
ans+=a[j]*n;
printf("ans=%d\n",ans);
j--;
}
n++;
}
printf("%d\n",ans);
}
return 0;
}*/
poj3186 Treats for the Cows的更多相关文章
- kuangbin专题十二 POJ3186 Treats for the Cows (区间dp)
		Treats for the Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7949 Accepted: 42 ... 
- POJ3186 Treats for the Cows —— DP
		题目链接:http://poj.org/problem?id=3186 Treats for the Cows Time Limit: 1000MS Memory Limit: 65536K To ... 
- poj3186 Treats for the Cows(区间)
		题目链接:http://poj.org/problem?id=3186 题意:第一个数是N,接下来N个数,每次只能从队列的首或者尾取出元素. ans=每次取出的值*出列的序号.求ans的最大值. 样例 ... 
- POJ3186:Treats for the Cows(区间DP)
		Description FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for gi ... 
- 【POJ - 3186】Treats for the Cows (区间dp)
		Treats for the Cows 先搬中文 Descriptions: 给你n个数字v(1),v(2),...,v(n-1),v(n),每次你可以取出最左端的数字或者取出最右端的数字,一共取n次 ... 
- poj 3186 Treats for the Cows(区间dp)
		Description FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for gi ... 
- BZOJ 1652: [Usaco2006 Feb]Treats for the Cows( dp )
		dp( L , R ) = max( dp( L + 1 , R ) + V_L * ( n - R + L ) , dp( L , R - 1 ) + V_R * ( n - R + L ) ) 边 ... 
- BZOJ 1652: [Usaco2006 Feb]Treats for the Cows
		题目 1652: [Usaco2006 Feb]Treats for the Cows Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 234 Solve ... 
- Treats for the Cows
		Treats for the Cows Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64 ... 
随机推荐
- 各种语言HMAC SHA256实现
			语言包含: Javascript ,PHP,Java,Groovy,C#,Objective C,Go,Ruby,Python,Perl,Dart,Swift,Rust,Powershell. Jav ... 
- JAVAWEB 生成excel文字在一格显示两位不变成#号
			在用java生成excel的时候会发现这种问题, 如果是人家给的模板还好,如果不是模板,而是通过代码生成的话, 就需要进行处理了, 一个小单元格,如果是一位的话,如1-9显示没有问题,一旦是两位的话, ... 
- angularjs-googleMap googleMap api地址解析与反解析
			1.js:根据地址得到经纬度var myplace=$scope.place;//获取输入的地址var geocoder = new google.maps.Geocoder();//创建geocod ... 
- switch语法之PHP
			$a = 100; switch ($a) { case 100: echo '满分'; break; case $a >=60: echo '及格'; break; } 
- 提供他人class文件
			1.考虑的问题,提供的文件是否依赖于其他jar包. 例如:解析html简历时,依赖于Jsoup包. 
- OC - 30.如何封装自定义布局
			概述 对于经常使用的控件或类,通常将其分装为一个单独的类来供外界使用,以此达到事半功倍的效果 由于分装的类不依赖于其他的类,所以若要使用该类,可直接将该类拖进项目文件即可 在进行分装的时候,通常需要用 ... 
- iOS 去除导航栏下的黑线
			Swift: navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default) na ... 
- Linux下JDK环境变量配置
			JDK官方下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 我的下载路 ... 
- Win异常:  除了chrome浏览器外,所有安装的软件都连不上网
			经查找资料,是LSP被篡改,恢复后使用正常. 百度百科 LSP: Layered Service Provider, 即分层服务提程序,Winsock 作为应用程序的 Windows 的网络套接字工 ... 
- 修改原代码定制bootstrap
			1.下载对应的Bootstarap和node.js 注:less文件夹中包含了bootstrap中所有样式组件的less源代码: dist保存编译后的css和js等文件 2.命令行输入npm inst ... 
