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

福建省建建设行业信用评分网站福州seo博客

福建省建建设行业信用评分网站,福州seo博客,潍坊网页设计公司,wordpress如何编辑网页加代码1. 相近的营业额 1.1 题目 题目描述&#xff1a;我们定义&#xff0c;一天营业额的最小波动 min { | 该天以前某一天的营业额 - 该天营业额 | } 特别的&#xff0c;第一天的营业额最小波动为第一天的营业额 输入描述&#xff1a;第一行 n &#xff08;n < 32767&#xf…

1. 相近的营业额

1.1 题目

题目描述:我们定义,一天营业额的最小波动 = min { | 该天以前某一天的营业额 - 该天营业额 | }

                  特别的,第一天的营业额最小波动为第一天的营业额

输入描述:第一行 n (n <= 32767),表示公司从成立到现在的天数

                  接下来 n 行每行有一个整数 ai (|ai| <= 10e6),表示第 i 天的营业额,可能存在负数

输出描述:一个正整数,表示每一天最小波动的和,保证结果小于 2^31

输入:

6

5

1

2

5

4

6

输出:

12

1.2 思想

对于每一个新的数 x ,我们总共要找到距离 x 最近的一大一小的两个数,可以将之前的数据放入到 set 中,对于大于等于 x 的值可以用 lower_bound 得到 set 中该值的迭代器,让迭代器进行(--)操作,可以得到比 x 小的最接近 x 的值,然后让各自与 x 的差值进行比较就可以得到最小波动值

值得注意的是:当对迭代器进行(--)操作时,如果 set 里的元素不够,可能非法访问,所以我们需要左右护法进行保护,而左右护法也不能干涉比较的结果,那左右护法可以趋于无穷(即这个情况下不可能取到的值)

1.3 模拟实现

#include<iostream>
using namespace std;
#include<set>
#include<cmath>
set<int> mp;
//注意近似无穷的值
int INF = 1e7+10;
int total;
int main()
{int n; cin >> n;int x; cin >> x;//先将第一天的值插入mp.insert(x);total += x;//添加左右护法mp.insert(INF);mp.insert(-INF);for(int i=2;i<=n;i++){int x; cin >> x;//取出大于等于 x 的值的迭代器auto it1 = mp.lower_bound(x);//找到最近的小于 x 的迭代器auto it2 = it1;it2--;//进行比较total += min(abs( *it1 - x ), abs( *it2 - x ));//最后将今天的 x 插入mp.insert(x);}cout << total << endl;return 0;
}

2. 相近的木材

2.1 题目

题目描述:有一个木材仓库,里面没有两个木材的长度相同,现在有不超过100000条操作:

                  进货格式:1 length:向仓库中放入长度为 length (不超过 10e9)的木材,如果已经存在,就输出 Already Exist

                  出货格式:2 length:仓库中取出长度为 length 的木材。如果没有刚好长度的木材,取 出仓库中存在的和要求长度最接近的木材。如果有多个符合要求,取出比较短。输出取出的木材长度。如果仓库为空,输出 Empty

输入:

7
1 1
1 5
1 3
2 3
2 3
2 3
2 3

输出:

3
1
5
Empty
2.2 思想

和上面的解法类似,对于要删除的数 x ,我们总共要找到距离 x 最近的一大一小的两个数,可以将之前的数据放入到 set 中,对于大于等于 x 的值可以用 lower_bound 得到 set 中该值的迭代器,让迭代器进行(--)操作,可以得到比 x 小的最接近 x 的值,然后让各自与 x 的差值进行比较就可以得到要删除的值

值得注意的是:当对迭代器进行(--)操作时,如果 set 里的元素不够,可能非法访问,所以我们需要左右护法进行保护,而左右护法也不能干涉比较的结果,那左右护法可以趋于无穷(即这个情况下不可能取到的值)

2.3 模拟实现

#include<iostream>
using namespace std;
#include<set>
#include<cmath>
typedef long long LL;
//注意元素的范围
set<LL> mp;
//左右护法,该情况下可以看作趋于无穷
LL INF = 1e10 + 10;int main()
{int n; cin >> n;while (n--){LL op, x; cin >> op >> x;//添加左右护法mp.insert(INF); mp.insert(-INF);if (op == 1){//如果 set 没有就插入if (mp.count(x)) cout << "Already Exist" << endl;else mp.insert(x);}else{//只有左右护法可以将 set 看作空if (mp.size() == 2) cout << "Empty" << endl;else{//取出大于等于 x 的值的迭代器auto it1 = mp.lower_bound(x);//找到最近的小于 x 的迭代器auto it2 = it1;it2--;//进行比较if (abs(*it1 - x) >= abs(*it2 - x)){cout << *it2 << endl;mp.erase(*it2);}else{cout << *it1 << endl;mp.erase(*it1);}}}}return 0;
}

http://www.dtcms.com/wzjs/187290.html

相关文章:

  • 支付网站开发费分录社区建站网站系统
  • 照片做视频ppt模板下载网站好优秀网站网页设计分析
  • 1核2g+做网站国际域名注册网站
  • 深圳网站开发费用搜索引擎优化的内部优化
  • 长春火车站附近宾馆网络seo优化推广
  • 烟台网站制作公司免费推广网站排名
  • 可以赚人民币的传奇手游台州关键词优化平台
  • 古董交易网站怎么做国通快速建站
  • 山东企业网站建设费用搜索引擎优化工具有哪些
  • 宝塔设置加速wordpress站点seo引擎搜索网站
  • 如何修改上线网站百度推广费用可以退吗
  • 溧水做网站价格快速刷排名的软件最好
  • 网站建设与维护 排序题品牌策划公司
  • 网站备案取消 后果千锋教育培训机构地址
  • 福建建筑人才市场深圳网站优化推广
  • 廊坊做网站的哪最多搜索引擎营销策划方案
  • 一流专业建设网站苏州seo服务热线
  • 做网站开发找哪家公司最新新闻事件
  • 北京手机网站设计价格站长工具无内鬼放心开车禁止收费
  • 做网站_没内容真人seo点击平台
  • 网站用什么框架做怎样做一个网页
  • 珠海网站建设尚古道策略软文营销实施背景
  • 增城哪家网站建设好做个网页需要多少钱?
  • 以美食为主的网站栏目怎么做seo营销课程培训
  • 石家庄做网站比较好的公司有哪些app拉新推广怎么做
  • 室内装饰设计培训机构seo手机关键词网址
  • 网站编程好学吗微信营销软件哪个好用
  • 网站建设用到的技术国际新闻最新消息10条
  • html 创意网站app开发自学教程
  • 游戏推广员如何推广引流网站优化排名提升