3186Treats for the Cows(区间dp)
题意:给一个数组v,每次可以取前面的或者后面的,第k次取的v[i]价值为v[i]*k,问总价值最大是多少。
区间dp。
区间dp可以不枚举len 直接枚举i和j即可 见代码
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
#define maxx 2010
int dp[maxx][maxx];
int main()
{
int n,v[maxx];
while(scanf("%d",&n)!=EOF)
{
for(int i = ;i <= n;i ++)
scanf("%d",&v[i]);
memset(dp,,sizeof(dp));
for(int i=n;i>=;i--)
for(int j=i;j<=n;j++)
{
dp[i][j]=max(dp[i][j],dp[i+][j]+(n-(j-i))*v[i]);
dp[i][j]=max(dp[i][j],dp[i][j-]+(n-(j-i))*v[j]);
}
printf("%d\n",dp[][n]);
}
return ;
}
3186Treats for the Cows(区间dp)的更多相关文章
- POJ 3186Treats for the Cows(区间DP)
题目链接:http://poj.org/problem?id=3186 题目大意:给出的一系列的数字,可以看成一个双向队列,每次只能从队首或者队尾出队,第n个出队就拿这个数乘以n,最后将和加起来,求最 ...
- POJ 3186Treats for the Cows (区间DP)
详见代码 #include <stdio.h> #include <algorithm> #include <string.h> using namespace s ...
- POJ3086 Treats for the Cows(区间DP)
题目链接 Treats for the Cows 直接区间DP就好了,用记忆化搜索是很方便的. #include <cstdio> #include <cstring> #i ...
- O - Treats for the Cows 区间DP
FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for giving vast am ...
- POJ3186:Treats for the Cows(区间DP)
Description FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for gi ...
- Treats for the Cows 区间DP POJ 3186
题目来源:http://poj.org/problem?id=3186 (http://www.fjutacm.com/Problem.jsp?pid=1389) /** 题目意思: 约翰经常给产奶量 ...
- 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][USACO 06FEB]Treats for the Cows 题解(区间DP)
[BZOJ 1652][USACO 06FEB]Treats for the Cows Description FJ has purchased N (1 <= N <= 2000) yu ...
- kuangbin专题十二 POJ3186 Treats for the Cows (区间dp)
Treats for the Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7949 Accepted: 42 ...
随机推荐
- bootstrap的treeview使用方法
首先引入文件: <link href="./css/bootstrap.css" rel="stylesheet"> <script src= ...
- __dict__(字典的另一种用法)
class Foo(): def __init__(self): self.name=None self.age=19 self.addr='上海' @property def dict(self): ...
- 12)django-ORM(单表返回数据3种方式)
单表查询还回数据有3种形式,返回形式不一样,模板调用方式不同 1)返回Queryset里面内容为对象:Business.objects.all() 这里内容显示是对象 2)返回Queryset里面内容 ...
- 堆(Heap)详解——Java实现
Heap 堆定义:(这里只讲二叉堆)堆实为二叉树的一种,分为最小堆和最大堆,具有以下性质: 任意节点小于/大于它的所有后裔,最小/大元在堆的根上. 堆总是一棵完全二叉树 将根节点最大的堆叫做最大堆或大 ...
- Centos7 linux 卸载自带安装的jdk 并yum自动安装jdk1.8
一:卸载系统自带安装的JDK 注:本文参考了< 使用CentOS7卸载自带jdk安装自己的JDK1.8> 通过xshell工具成功连接安装好的虚拟机之后可通过 rpm -qa | g ...
- Confluence 6 查看站点状态
请注意,有关站点的活动信息在默认情况下是禁用的.请查看下面的说明. 如果这个插件被启用的话,有关站点的全局活动状态将会在你的 Confluence 站点中显示出来.显示的数据包括: 在给定的时间内有多 ...
- Scala-IDE构建Maven项目
本教程演示如何使用Scala-IDE构建一个Scala Maven项目. 1. 下载Scala IDE 通过以下链接下载Scala IDE: http://scala-ide.org/download ...
- python用unittest+HTMLTestRunner+csv的框架测试并生成测试报告
直接贴代码: import csv # 导入scv库,可以读取csv文件from selenium import webdriverimport unittestfrom time import s ...
- java多线程快速入门(十七)
多线程通讯实例(必须要有多个线程.必须要管理同一个变量:线程A生产一个变量,线程B消费一个变量) package com.cppdy; class User { public String usern ...
- 常见的排序算法(直接插入&选择排序&二分查找排序)
1.直接插入排序算法 源码: package com.DiYiZhang;/* 插入排序算法 * 如下进行的是插入,排序算法*/ public class InsertionSort { pub ...