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

请人建网站需要多少钱做棋牌网站

请人建网站需要多少钱,做棋牌网站,株洲网上房地产,云梦做网站的优势相信大家对贪心算法已经见怪不怪了,但是一旦我们的决策条件会随着我们的步骤变化,我们该怎么办呢?有没有什么方法可以反悔呢? 今天就来讲可以后悔的贪心算法,反悔贪心。 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.yayakq.cn/news/830670/

相关文章:

  • 如何购买企业黄页网站网站开发 前端vue 后端c
  • 做服装网站需要什么条件网站设计 app开发
  • 网站的系统建设方式怎么创建网页
  • c 2015 做网站网站后台上图片后网页显示不正确
  • 淘宝导购网站建设服装定制官网
  • 如何建设小说网站厦门网站建设厦门seo
  • 如何进行网站的资源建设wordpress 曙提
  • 虚拟主机可以建设网站吗怎样做网站卖自己的产品
  • 惠州网站建设推广公司网页制作工具按其制作方式分为什么
  • 企业网站开发方案江西网站开发企业
  • 要找企业做网站应该注意什么wordpress 英文链接
  • 建站之星授权wordpress pdf手册
  • 网站建设规划公司WordPress简约资讯主题
  • 个人网站备案信息填写网站建设岗位廉政风险防控
  • 茶叶淘宝店网站建设ppt模板新塘 网站建设
  • 百事通网做网站咖啡店网站模板
  • 网站服务公司特点北京新站优化
  • 电商设计网站培训工程项目备案信息查询
  • 百度网站如何做专业的网站建设公哪家专业
  • 当今网站开发技术的现状wordpress5.0默认主题
  • 安康免费做网站宁波网站建设制作公司排名
  • 上海自助建网站谷歌seo综合查询
  • 先学php还是网站建设电商平台应该如何推广
  • 化妆品网站网页设计中国房地产新闻
  • 深做网站公司推荐5家
  • iis7站长工具改革开放40周年网站发展建设
  • 苏州专业的网站建设公司wordpress ini主题
  • 商城网站建设fwshop花店网站开发参考文献
  • 博士后是否可以做网站负责人做网站会用到什么语言
  • 做的网站百度搜索不出来山东济南网站制作