当前位置: 首页 > news >正文

大屏可视化ui设计重庆seo顾问服务

大屏可视化ui设计,重庆seo顾问服务,小程序代码做网站,现在有没有免费的网站空间2014百度之星预赛(第二场)——Best Financing Problem Description小A想通过合理投资银行理財产品达到收益最大化。已知小A在未来一段时间中的收入情况。描写叙述为两个长度为n的整数数组dates和earnings&#xff0c;表示在第dates[i]天小A收入earnings[i]元&#xff08;0<i…

2014百度之星预赛(第二场)——Best Financing

Problem Description
小A想通过合理投资银行理財产品达到收益最大化。已知小A在未来一段时间中的收入情况。描写叙述为两个长度为n的整数数组dates和earnings,表示在第dates[i]天小A收入earnings[i]元(0<=i<n)。银行推出的理財产品均为周期和收益确定的,可描写叙述为长度为m的三个整数数组start、finish和interest_rates, 若购买理財产品i(0<=i<m),须要在第start[i]天投入本金,在第finish[i]天可取回本金和收益。在这期间本金和收益都无法取回,收益为本金*interest_rates[i]/100.0。

当天取得的收入或理財产品到期取回的本金当天就可以购买理財产品(注意:不考虑复利,即购买理財产品获得的收益不能用于购买兴许的理財产品)。假定闲置的钱没有其它收益。如活期收益等,全部收益仅仅能通过购买这些理財产品获得。求小A能够获得的最大收益。

限制条件:
1<=n<=2500
1<=m<=2500
对于随意i(0<=i<n),1<=dates[i]<=100000,1<=earnings[i]<=100000, dates中无反复元素。
对于随意i(0<=i<m),1<=start[i]<finish[i]<=100000, 1<=interest_rates[i]<=100。


Input
第一行为T (T<=200),表示输入数据组数。
每组数据格式例如以下:
第一行是n m
之后连续n行。每行为两个以空格分隔的整数。依次为date和earning
之后连续m行。每行为三个以空格分隔的整数,依次为start, finish和interest_rate

Output
对第i组数据。i从1開始计,输出
Case #i:
收益数值。保留小数点后两位,四舍五入。


Sample Input
2 1 2 1 10000 1 100 5 50 200 10 2 2 1 10000 5 20000 1 5 6 5 9 7

Sample Output
Case #1: 1000.00 Case #2: 2700.00

Source
2014年百度之星程序设计大赛 - 初赛(第二轮)

正确的题意是:

告诉你n个时间点,这些时间点你会得到若干的钱.

然后告诉你m个时间段,以及时间段相应的利率(百分比).

问最后最多能够得到多少钱.

注意事项

首先收益不能用于购买

当天得到钱后当前能够花出去,也就是当天finish的当天可用于购买.

分析

理解题意后,心中会想到这是道DP题.

然后看看每一个时间点得到的钱。貌似他们之间是相互独立的.

实际上看到这个是独立的后,就非常好做了.

对于某个时间点的钱,我们随着时间的向后流动,会遇到一些时间段.

对于遇到的时间段,我们有两个选择:1.买; 2.不买.

买了我们的时间就移动到这个时间段的结束时间,不买了我们的时间移动到下一刻.

最后得到的钱是: 当前钱 * 选择的时间段的利率的和.

建议自己画一个图看看,或者自己心里面想想.

因为我们的目标是是收益最大,也就是是选择的时间段的利率和最大.

这个问题能够轻松的写出状态转移方程:

dp[ i ] = max( dp[i],  dp[j] + rate[i, j]);
当中 dp[ i ] 代表 i 时间点到终于时间的路线上最大的利率和。 dp[i] 的初始值能够是 dp[i + 1], 即不选择以这个时间点開始的时间段.

rate[i, j] 代表有个从 i 到 j 的时间段。且这个时间段的利率是 rate[i, j].

这样我们从后向前扫描一遍就能够预处理全部时间点到终于时间的最大利率.

然后我们用当前时间的钱 乘以 当前时间的最优利率和就是当前的最大利益.

以上分析来自博文:http://tiankonguse.com/record/record.php?id=670
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define MAX 100005using namespace std;typedef struct Money
{int dates;int earnings;
}Money;typedef struct Earn
{int start;int finish;int rate;
}Earn;bool cmp(const Earn &l,const Earn &r)
{return l.start<r.start;
}int dp[MAX];
Money money[MAX];
Earn earn[MAX];
int n,m,maxtime;
long long ans;void DP()
{memset(dp,0,sizeof(dp));m--;for(int i=maxtime;i>=0;i--){dp[i]=dp[i+1];while(m>=0&&i==earn[m].start){dp[i]=max(dp[i],dp[earn[m].finish]+earn[m].rate);m--;}}
}int main(int argc,char *argv[])
{int t;scanf("%d",&t);for(int i=1;i<=t;i++){scanf("%d%d",&n,&m);maxtime=0;for(int j=0;j<n;j++){scanf("%d%d",&money[j].dates,&money[j].earnings);maxtime=max(maxtime,money[j].dates);}for(int k=0;k<m;k++){scanf("%d%d%d",&earn[k].start,&earn[k].finish,&earn[k].rate);maxtime=max(maxtime,earn[k].finish);}sort(earn,earn+m,cmp);DP();ans=0;for(int j=0;j<n;j++)ans+=money[j].earnings*dp[money[j].dates];printf("Case #%d:\n",i);printf("%I64d.%02I64d\n",ans/100,ans%100);}return 0;
}


版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/gcczhongduan/p/4733577.html

http://www.lbrq.cn/news/2373301.html

相关文章:

  • 系统开发软件有哪些重庆seo务
  • 电商网站前后台模板网络推广seo公司
  • 创联互动建设网站网站都有哪些
  • 拍卖网站模版热搜词工具
  • 网站建设昆明seo作弊
  • 昆明网络公司哪家最大厦门百度关键词seo收费
  • 百度短链接在线生成南宁seo优化公司排名
  • 深圳做男装什么网站容易找工谷歌seo网站推广
  • 长春市城建网站百度一下官方网址
  • 时网站建设公司管理怎么做游戏推广员
  • 东莞高端网站设计推广下载app赚钱
  • php网站好吗东莞整站优化推广公司找火速
  • 潍坊设计网站济南网站seo优化
  • 网站镜像 动态百度热度榜搜索趋势
  • 公务员可以自己做网站吗品牌运营策略
  • 盐城网站制作哪家好游戏代理是怎么赚钱的如何代理游戏
  • 网站开发指南产品线上营销推广方案
  • 免费做app的网站有吗手机端关键词排名免费软件
  • 专业外贸网站建设外贸网站推广软件
  • 网站死链怎么删除百度人工客服电话是多少
  • 长春亚泰吧seo是什么seo怎么做
  • 做黄色网站的成本推广网站源码
  • 如何制作学校网站百度一下官方网站
  • 余姚做百度网站广州百度网站快速排名
  • 做的网站显示图片很慢深圳最好的外贸seo培训
  • 上海静安网站制作360推广和百度推广哪个好
  • wordpress 域名授权百度网站快速优化
  • 购物商城网站功能设计百度竞价排名医院事件
  • vue cdn做的网站百度导航和百度地图
  • 化工产品网站建设河南制作网站
  • Selenium 启动的浏览器自动退出问题分析
  • 如何在PyCharm中切换其他虚拟环境
  • web APIs(更新中)
  • 聚类算法原理与应用(一):K-means聚类算法原理
  • 微服务中token鉴权设计的4种方式
  • 基于按键开源MultiButton框架深入理解代码框架(一)(指针的深入理解与应用)