整数行hdu 1244 Max Sum Plus Plus Plus(dp)
废话就不多说了,开始。。。
Max Sum Plus Plus Plus
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 932 Accepted Submission(s): 462
a1 a2 a3 ... an
求按先后顺序在其中取m段长度分别为l1、l2、l3...lm的不交叠的连续整数的和的最大值。
第二行的第一个数是m(1 ≤ m ≤ 20),
第二行接下来有m个整数l1,l2...lm。
第三行是n个整数a1, a2, a2 ... an.
闷热的天,蝉儿耐不住寂寞地不停在鸣叫,我孤单一人,寂静的身旁没有一个知音,想疯狂地听摇滚乐,听歇斯底里的歌声,那只为逃避无人的世界里那浓烈的孤单气息。一个人是清冷,两个人便是精彩,于是,莫名的冲动让我格外想念旧日的好友,怀念过去的日子,尽管不够现实的遐想追回不了曾经一切,但却希望思绪可以飞扬于闭上双目后的世界中,印有微笑,印有舞动的身姿,翩翩起舞……
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 1010
#define M 21
int f[2][N],a[N],b[M];
int main(){int i,j,k,l,n,m,T;while(scanf("%d",&n)&&n){scanf("%d",&m);a[0]=b[0]=0;for(i=1;i<=m;i++)scanf("%d",&b[i]);for(i=1;i<=n;i++){scanf("%d",&k);a[i]=a[i-1]+k;}
//由于输入的是正整数,和是递增的,可得f[i][j]=max(f[i][j],f[i-1][j-b[i]]+sum[j-b[i]+1,j]memset(f,0,sizeof(f));k=0;l=1;for(i=1;i<=m;i++){for(j=b[i];j<=n;j++){//第j个放第i组f[l][j]=max(f[l][j],f[l][j-1]);f[l][j]=max(f[l][j],f[k][j-b[i]]-a[j-b[i]]+a[j]);}l^=1;k^=1;}printf("%d\n",f[k][n]);}
return 0;
}
文章结束给大家分享下程序员的一些笑话语录: 3G普不普及现在已经不是看终端了,而是看应用,有好的,便宜实用的应用,花1000多买个能用的智能手机应该不是什么难事。反过来说,你200元拿一个智能手机,没有好的应用,看个电影要几十元,也是没人用3G。
转载于:https://www.cnblogs.com/jiangu66/archive/2013/05/18/3085787.html
整数行hdu 1244 Max Sum Plus Plus Plus(dp)相关推荐
- HDU 1244 Max Sum Plus Plus Plus
虽然这道题看起来和 HDU 1024 Max Sum Plus Plus 看起来很像,可是感觉这道题比1024要简单一些 前面WA了几次,因为我开始把dp[22][maxn]写成dp[maxn][2 ...
- HDU.1003 Max Sum
原题 HDU.1003 Max Sum 分类 动态规划 题意 计算从一个序列中最大连续子序列和.对应的起始元素和终止元素的位置. 输入/输出 要求与格式 样例数的确定 最开始一行开始输入样例数 每个样 ...
- hdu 1003 Max Sum 解题报告
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 Problem Description Given a sequence a[1],a[2],a[3 ...
- hdu 1003 Max Sum (DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 Max Sum Time Limit: 2000/1000 MS (Java/Others) ...
- [hdu 1003] Max Sum
跟<算法导论(第三版)>上的一样,抄下来的 30 - 60 ms 标准的分治策略 1 #include <stdio.h> 2 3 int A[100000], Lenght; ...
- HDU 1024 Max Sum Plus Plus 动态规划
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024 题目大意:n个数分成两两不相交的m段,求使这m段和的最大值. 解题思路:比较坑的点:n2 能过: ...
- HDU 1024 Max Sum Plus Plus
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024 Max Sum Plus Plus Time Limit: 2000/1000 MS (Java ...
- HDU 1024:Max Sum Plus Plus(DP)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): ...
- hdu 1003 Max Sum
DP可以这里给出非DP程序 题目传送门 1 #include<stdio.h> 2 int main() 3 { 4 int t,n,i,max,m,sum,ki,kj,k,a,b; 5 ...
最新文章
- zabbix3.2.4监控MySQL5.7.16状态
- php决策管理,报表管理与数据分析:为系统未来发展规划提供决策依据,有效避免IT管理与投资的盲目??...
- python 列表 remove()函数使用详解
- SAP License:ERP系统管理软件该有的“魅力”
- 【摘抄】其实我是间谍!
- 64位 Windows PLSQL Developer客户端配置方法
- PTA病毒序列C语言
- JAVA中数组和集合的区别
- java截取文件名后缀
- mariadb相关说明
- 掌握命令结构,详解monkey命令
- VS一个解决方案中有多个项目,如何快速选择启动项
- python tensorflow2 deeplearning 音频处理 声学事件检测
- 常见博客程序的市场有这几个
- mysql查询数据库结构_mysql查询数据库下的表结构
- 怀念老系统的小伙伴们点这里!(1)
- 可变数据之流水号数据的批量打印
- android8.0 墓碑机制,魔兽世界8.0血DK机制与输出手法详细介绍
- python爬取12306实现按车次查询余票
- 基于微信小程序的校园跑腿系统——计算机毕业设计
热门文章
- 微软忘记修复Mac Office2004/2008安全漏洞
- linux怎么获取当前路径,linux 下获取当前工作路径的实例
- Vivado中debug用法
- python/numpy中数组array和矩阵matrix的区别
- pip在windows下安装配件/宏包
- pytorch使用gpu就是这么简单
- fork() 成为负担,需要淘汰
- 洛谷P2512 糖果传递
- java企业网站源码,模版,有前后台,springmvcSSM,生成静态化
- 「自己开发直播」rtmp-nginx-module实现直播状态、观看人数控制