poj3186 Treats for the Cows(区间)
题目链接:http://poj.org/problem?id=3186
题意:第一个数是N,接下来N个数,每次只能从队列的首或者尾取出元素。
ans=每次取出的值*出列的序号。求ans的最大值。
样例 :
input:5
1 2 1 5 2
output:43
思路:区间dp,用两个指针i和j代表区间,dp[i][j]表示这个区间的最大值。
///最开始想想着每次拿值最小的就好了,因为之前没接触过区间dp,就这样naive的交了,意料之中的WA了。
///找到一个范例 eg:1000001 1000002 1000003 1000004 1000005 1 2 3 4 5 6 7 8 9 1000010 这个如果,诶次取最小的得到的就不是最大值
代码:
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std;int a[2005]; int dp[2005][2005];int main() {int n;while(cin>>n){for(int i=1; i<=n; i++)cin>>a[i];memset(dp,0,sizeof(dp));for(int i=1; i<=n; i++)dp[i][i]=a[i]*n;for(int l=1; l<n; l++){for(int i=1; i+l<=n; i++){int j=i+l;dp[i][j]=max((dp[i+1][j]+a[i]*(n-l)),(dp[i][j-1]+a[j]*(n-l)));}}cout<<dp[1][n]<<endl;}return 0; }
转载于:https://www.cnblogs.com/a-clown/p/5993349.html
poj3186 Treats for the Cows(区间)相关推荐
- poj 3186 Treats for the Cows (区间dp)
题意:给你一个序列,每次只能从头或为取数,然后乘以这是第几个数,最后加和,是加和最大 思路:假设长度最开始是1,然后依次枚举长度,以及起点,dp[i][j]是又里面的两端点扩出来的(ps:代码不是这么 ...
- 动态规划训练20 [Treats for the Cows POJ - 3186 ]
Treats for the Cows POJ - 3186 简单的区间DP,就不解释了. #include<iostream> #include<cstdio> using ...
- P2858 [USACO06FEB]Treats for the Cows G/S 题解
emmmmmm,第二篇文章,多多写文章,好好掌握知识! 前言 原本在educoder上刷题,刷到[粉刷匠]一题,使用区间DP来做的.自己之前曾经小部分刷过背包DP的题目,对于区间DP还是知之甚少.在稍 ...
- Treats for the Cows
问题描述 Description FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money f ...
- [USACO06FEB]Treats for the Cows G/S奶牛零食(区间dp)
洛谷 acwing #include <bits/stdc++.h> #include <iostream> #include <cstring> #include ...
- POJ 3186Treats for the Cows(区间DP)
题目链接:http://poj.org/problem?id=3186 题目大意:给出的一系列的数字,可以看成一个双向队列,每次只能从队首或者队尾出队,第n个出队就拿这个数乘以n,最后将和加起来,求最 ...
- BZOJ1652 [Usaco2006 Feb]Treats for the Cows
蒟蒻许久没做题了,然后连动规方程都写不出了. 参照iwtwiioi大神,这样表示区间貌似更方便. 令f[i, j]表示i到j还没卖出去,则 f[i, j] = max(f[i + 1, j] + v[ ...
- POJ - 3186 Treats for the Cows DP
传送门 乍一看与cf的某道题很相似,做了半天的贪心,然后是个二维dp. 这道题难的点在于你无法从最先取的值推到最后取的值,只能从内往外推.如果能看出来这点,其实就不难,但是很难想. 一开始dp[i][ ...
- POJ 3186Treats for the Cows (区间DP)
详见代码 1 #include <stdio.h> 2 #include <algorithm> 3 #include <string.h> 4 using nam ...
最新文章
- 零基础AJAX入门(含Demo演示源文件)
- Codeforces 766E
- Java编程程序异常处理方法
- html 右边是iframe 左右结构_站点的内链优化和一些常用的结构优化方法
- 给MM修电脑的三个步骤
- dnn305的一个bug
- 【LTspice仿真软件】如何从官网下载软件和入门到精通的教程
- ajaxSubmit()上传
- Selenium调用使用360浏览器,QQ浏览器,遨游浏览器,猎豹浏览器,Chromium
- php下载excel乱码,如何解决php下载excel乱码的问题
- PLC扩展模块西门子smart200PLC扩展RS485modbus以太网模块
- 使用wifi网卡笔记1----网卡选型、开发环境搭建、内核配置
- 计算机网络云怎么连接网络设置方法,华为云电脑如何连网,华为云电脑使用教程...
- autoJS pro-手机自动化脚本(douyin App模拟人工操作点赞、评论、收藏、转发)
- 学习1368个单词 - 有关物和人的名词
- 【评测】SUPRAcap 100囊式深层过滤器 泽平科技一级代理
- 北大计算机陈鹏,陈鹏(北大教授)
- 经典兔子问题java解决
- 三菱伺服放大器内部故障及处理方法
- 计世网:IT人员秘密思考的十件事情
热门文章
- c/c++面试试题(四)
- linux input/output error
- [react-router] 请你说说react的路由是什么?
- [react] 为什么说React中的props是只读的?
- React开发(176):导出所有接口供使用
- React开发(175):注意在回调里面重新渲染列表
- Taro+react开发(82):设置默认属性
- javascript学习系列(13):数组中的concat方法
- 前端学习(3283):立即执行函数二
- [css] 在固定宽度的div下,怎么让字体自适应大小,不超出宽度,也不要换行