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

如何做公司网站推广泉州排名推广

如何做公司网站推广,泉州排名推广,潍坊网站建设联系电话,个人博客搭建wordpress相信大家对贪心算法已经见怪不怪了,但是一旦我们的决策条件会随着我们的步骤变化,我们该怎么办呢?有没有什么方法可以反悔呢? 今天就来讲可以后悔的贪心算法,反悔贪心。 https://www.luogu.com.cn/problem/CF865Dhttp…

        相信大家对贪心算法已经见怪不怪了,但是一旦我们的决策条件会随着我们的步骤变化,我们该怎么办呢?有没有什么方法可以反悔呢?

        今天就来讲可以后悔的贪心算法,反悔贪心。

https://www.luogu.com.cn/problem/CF865Dicon-default.png?t=N7T8https://www.luogu.com.cn/problem/CF865D

题目描述

        You can perfectly predict the price of a certain stock for the next 𝑁 days. You would like to profit on this knowledge, but only want to transact one share of stock per day. That is, each day you will either buy one share, sell one share, or do nothing. Initially you own zero shares, and you cannot sell shares when you don't own any. At the end of the 𝑁 days you would like to again own zero shares, but want to have as much money as possible.

输入格式

Input begins with an integer 𝑁N (2<=𝑁<=3⋅105), the number of days.

Following this is a line with exactly 𝑁N integers 𝑝1,𝑝2,...,𝑝𝑁(1<=𝑝𝑖<=106) . The price of one share of stock on the 𝑖 -th day is given by 𝑝𝑖​ .

输出格式

Print the maximum amount of money you can end up with at the end of 𝑁 days.

输入输出样例

输入 #1

9
10 5 4 7 9 12 6 2 10

输出 #1

20

输入 #2

20
3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4

输出 #2

41

        就像买卖股票,谁都不知道接下来股票的趋势,但如果我们知道了趋势,又如何让自己的收益最大化呢?

        因此,我们可以先考虑两种情况:

        一:当第一天的价格高于第二天时,我们就只要屯着,因为卖出去是没有收益的。

        二:反之,我们每次遇见第二天的价格高于第一天时,我们就直接先考虑卖出(能赚一点是一点),我们会获得收益,那假如之后价格更高怎么办?当然是反悔了,我们用一个小根堆来存储已经路过的天数,秉承着只要有钱赚就卖的原则,我们充分利用priority_queue的强大优势,当堆顶元素比当日价格低的时候,我们就卖掉(映射到代码就是pop()),然后将总获利加上差价,就是买股票的钱,那么怎么反悔呢,我们在pop堆顶元素的时候,将一个当日的股价压入堆,无论在哪里,只要堆不空,那么只要有股价高于堆顶元素的就重复以上步骤,这样做不会舍弃更高的利润,而是将难以维护的决策变成了类似滚雪球一样的方式,这就是反悔贪心的核心操作。比较抽象,需要仔细理解体会。

        最后附上完整代码:

#include <bits/stdc++.h>using namespace std;typedef long long LL;
const int N = 1e6 + 10;int p[N]; 
priority_queue<int, vector<int>, greater<int> > q;
int n;
LL ans = 0;int main()
{cin >> n;for(int i = 1; i <= n; i ++)cin >> p[i];for(int i = 1; i <= n; i ++){if(!q.empty() && p[i] > q.top()){ans += p[i] - q.top();q.pop();q.push(p[i]);}q.push(p[i]);}cout << ans << endl;
}

        tip:这是一次CF上的题,在洛谷上提交的时候要记得绑定CF账号哦>_<!!!

http://www.dinnco.com/news/29410.html

相关文章:

  • 公司网站建设需要哪些设备5000人朋友圈推广多少钱
  • 临漳seo整站排名平板电视seo优化关键词
  • net公司网站开发框架源代码网站建设策划方案
  • 网站的分类有哪些类型网络营销心得体会
  • 亚马逊虚拟主机做网站百度站长链接提交
  • 网站建设销售提点20个点网站seo技术能不能赚钱
  • 网站流量不够一呼百应推广平台
  • 利用第三方做网站永久发布地址酒店营销推广方案
  • 一个网站的建设需要什么手续香港疫情最新情况
  • 通用精品课程网站建设的需求分析营业推广的概念
  • 公司网站如何做推广兰州百度推广的公司
  • cms类型网站开发seo搜索引擎官网
  • 网站开发与设计专业seo关键词排名公司
  • 不知情的情况下帮别人做网站他违法seo和竞价排名的区别
  • wordpress 多标签筛选优化大师的优化项目有哪7个
  • 毕设做网站可以用模板吗参考网是合法网站吗?
  • 做网站专题页的字大小是多少钱百度站长平台提交网站
  • 辽源网站seo网站模板设计
  • 永年哪做网站陕西新闻今日头条
  • 网站平台建设费计入什么科目自己建网站的详细步骤
  • 济南网站建设就选搜点网络ok湘潭网站建设
  • 上海装修公司排名前20seo关键词优化平台
  • 北京做网站公司排名广州谷歌seo公司
  • 网上书城网站建设目的百度如何免费打广告
  • 网站设计方法西安网站制作建设
  • 苏州官网建站媒体广告投放平台
  • 网站制作公司北京网站建设公司哪家好站长统计app最新版本2023
  • 江苏网站建设价格低龙斗seo博客
  • 企业做什么需要有网站项目推广方案
  • 沈阳网站排名工具什么是seo关键词优化