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

如何做公司网站推广个人如何推广app

如何做公司网站推广,个人如何推广app,国家住房和城乡建设部中国建造师网站官网,使用asp.net制作网站的整体过程相信大家对贪心算法已经见怪不怪了,但是一旦我们的决策条件会随着我们的步骤变化,我们该怎么办呢?有没有什么方法可以反悔呢? 今天就来讲可以后悔的贪心算法,反悔贪心。 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.hotlads.com/news/5759.html

相关文章:

  • 寻找移动网站建设网络营销软件商城
  • 三亚网站建设平台日照seo优化
  • 石家庄免费建站seo推广培训中心
  • 吴桥做网站价格湖南关键词优化快速
  • 酒类产品网站设计seo网站结构优化
  • 微信上的微网站在哪里外贸网站建设设计方案
  • 网站用什么语言网站seo属于什么专业
  • 苏州做企业网站建设网页入口网站推广
  • wordpress综合检测工具关键词排名优化易下拉软件
  • 郑州中扬科技网站建设公司怎么样知乎关键词搜索
  • 家具网站建设的背景网络销售 市场推广
  • html网页基本结构seo黑帽技术有哪些
  • 网站建设实训关键帧
  • 佛山网站如何制作深圳网络推广培训机构
  • 山西品牌网站建设推广找客户平台
  • wordpress 清空回收站电脑优化软件哪个好用
  • 网站推广和宣传的方法广州线上教学
  • 崇礼网站建设seo优化排名公司
  • 中国建筑装饰网下载东莞关键词优化软件
  • 如何利用模板做网站seo公司推广宣传
  • 做微信的网站叫什么名字优化seo软件
  • 自己的网站如何给别人做有偿广告页面关键词优化
  • 创业做旅游网站aso优化排名违法吗
  • 网站制作怎么自己做广州专门做seo的公司
  • 如何做网站推广最有效推广链接怎么制作
  • 网站设计注意因素线上招生引流推广方法
  • 网页制作图片模板企业网站优化方案案例
  • 玉溪做网站建设的公司运营推广计划怎么写
  • 广州自助建站服务热线网络推广推广培训
  • 网站开发的几个主要阶段宽带营销案例100例