动态规划入门 洛谷P1108 低价购买
P1108 低价购买
题目描述
“低价购买”这条建议是在奶牛股票市场取得成功的一半规则。要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买;再低价购买”。每次你购买一支股票,你必须用低于你上次购买它的价格购买它。买的次数越多越好!你的目标是在遵循以上建议的前提下,求你最多能购买股票的次数。你将被给出一段时间内一支股票每天的出售价(2^16范围内的正整数),你可以选择在哪些天购买这支股票。每次购买都必须遵循“低价购买;再低价购买”的原则。写一个程序计算最大购买次数。
这里是某支股票的价格清单:
日期 1 2 3 4 5 6 7 8 9 10 11 12
价格 68 69 54 64 68 64 70 67 78 62 98 87
最优秀的投资者可以购买最多4次股票,可行方案中的一种是:
日期 2 5 6 10
价格 69 68 64 62
输入输出格式
输入格式:
第1行: N (1 <= N <= 5000),股票发行天数
第2行: N个数,是每天的股票价格。
输出格式:
输出文件仅一行包含两个数:最大购买次数和拥有最大购买次数的方案数(<=2^31)当二种方案“看起来一样”时(就是说它们构成的价格队列一样的时候),这2种方案被认为是相同的。
输入输出样例
BUYLOW.IN 12 68 69 54 64 68 64 70 67 78 62 98 87
BUYLOW.OUT 4 2 最长不下降子序列变形
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 using namespace std; 6 int f[5001],g[5001]; 7 int a[5001]; 8 int main() 9 { 10 int n,ans=0; 11 scanf("%d",&n); 12 for(int i=1;i<=n;i++) scanf("%d",a+i); 13 for(int i=1;i<=n;i++) 14 { 15 f[i]=1; 16 for(int j=1;j<i;j++) 17 { 18 if(a[j]>a[i]) f[i]=max(f[i],f[j]+1); 19 } 20 ans=max(ans,f[i]); 21 } 22 for(int i=1;i<=n;i++) 23 { 24 if(f[i]==1) g[i]=1; 25 for(int j=1;j<i;j++) 26 { 27 if(a[i]<a[j]&&f[i]==f[j]+1) g[i]+=g[j]; 28 if(a[i]==a[j]&&f[i]==f[j]) f[j]=0; 29 } 30 } 31 int tot=0; 32 for(int i=1;i<=n;i++) 33 if(f[i]==ans) 34 tot+=g[i]; 35 printf("%d %d",ans,tot); 36 return 0; 37 }
转载于:https://www.cnblogs.com/sdfzxh/p/6906514.html
动态规划入门 洛谷P1108 低价购买相关推荐
- 洛谷P1108 低价购买[DP | LIS方案数]
题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买".每次你购买一支股 ...
- 洛谷1108低价购买
题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买".每次你购买一支股 ...
- 【动态规划】洛谷 P1282 多米诺骨牌
[动态规划]洛谷 P1282 多米诺骨牌 时间限制: 1 Sec 内存限制: 128 MB 题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点.现有排成行的 上方块中点数之和记为S1,下 ...
- 【洛谷P1108】低价购买【dp练习】
题目 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买".每次你购买一支股票, ...
- P1108 低价购买
题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买".每次你购买一支股 ...
- P1164 小A点菜(DP动态规划,洛谷,java)
洛谷链接:https://www.luogu.org/problem/P1164 i写成了j,改了nnnnn久!!!! import java.util.Scanner; class Main{pub ...
- P1002 过河卒(dp动态规划,洛谷,java)
洛谷链接:https://www.luogu.com.cn/problem/P1002 import java.util.Scanner;public class Main { public stat ...
- P1108 低价购买(DP)
题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买".每次你购买一支股 ...
- 洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II
P2616 [USACO10JAN]购买饲料II Buying Feed, II 题目描述 Farmer John needs to travel to town to pick up K (1 &l ...
最新文章
- ASP.NET MVC Framework 系列
- linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
- failed to initialize nvml driver/library version mismatch ubuntu
- 《随机过程》布朗运动理论中的两个反常问题
- cf1208E. Let Them Slide
- MATLAB入门(二)
- Lambda 表达式详解~Stream Pipelines
- OpenGL:画个水壶
- 记一次lvs-tunnel模式的故障分析(7)
- OpenXava 4.5支持JPA继承映射和自动化业务逻辑
- 计算机ppt试题训练,powerpoint2010操作题 计算机POWERPOINT操作题
- 第8章 静态路由配置
- 快应用如何避免JSON.parse()解析出错
- 8086CPU标志位
- 读后感—肿瘤基因检测行业会好吗
- 人生算法之「延迟满足感」
- 计算机系统怎么装到u盘启动不了,电脑开机就进入BIOS界面,设置了u盘启动准备从装系统但是进不了U盘,这些是为什么啊?...
- windows安装虚拟机(VMware)
- 【组织架构】中国铁路上海局集团有限公司
- 数据可视化BI平台选型调研报告 Superset VS Redash VS Metabase
热门文章
- oracle并行收集统计信息慢,Oracle 学习之性能优化(四)收集统计信息
- 网络品牌推广之标签的使用注意事项
- mysql query cache 命中率_MySQL缓存命中率概述及如何提高缓存命中率
- java关键字的用法_JAVA常用关键字及其用法简要说明
- 窗口属性 客户矩形_航空公司客户价值分析
- debain apt oracle jdk,debian安装oracle jdk
- java公寓管理系统设计与实现_学生公寓(宿舍)管理系统的设计与实现(论文范文, jspjava).docx_蚂蚁文库...
- python调用数据集mnist_Python读取MNIST数据集
- mac r 导出csv文件_每天学习一点R:8.数据的导入和输出
- (转载)解决umount: /home: device is busy