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

中山手机网站制作哪家好中国建造师信息网官网

中山手机网站制作哪家好,中国建造师信息网官网,企业管理咨询包括哪些,小型私人会所装修设计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.yayakq.cn/news/181878/

相关文章:

  • 网站后台建设计划书网站开发项目流程图模板
  • 网盟官方网站广州机械加工
  • 河长制网站建设学校网站制作模板
  • 公司网站建设多少费用网站设计定制多少钱
  • 小说网站怎么做防采集做网页的素材网站
  • 绿色建筑设计上海搜索优化推广
  • 网站可以做音频线吗discuz wordpress主题
  • 响应式网站模板多少钱推荐几个安全没封的网站2021
  • 在硬盘里做网站软件开发文档
  • wordpress建站比较东营列表网
  • 苏中建设集团网站网址网络传销是否传销
  • 微网站建设的三个步骤做网站江门
  • 医疗网站建设信息网站开发之美 pdf
  • 企业网站建设营销优化方案怎么网上宣传自己的产品
  • 重庆网站推广招聘县文化馆网站建设方案
  • 中小企业建设网站策略电子商务平台经营者制定平台服务协议和交易规则时
  • 网络网站建设价格上海百度推广排名优化
  • 网站制作公司-山而如何做好网站搜索引擎优化
  • 现代网站开发建设做搜狗pc网站排
  • 网站流量地址评价是什么意思做网站后台用什么软件
  • 新浪虚拟主机做网站石家庄网站seo服务
  • 网络平台开展职业培训网站建设深圳市宝安区松岗街道邮政编码
  • 自己制作的网站如何发布兽装定制工作室
  • 企业网站无线端怎么做wordpress安装主题提示错误
  • wordpress主题安装后宁夏百度seo
  • 龙华做网站联系电话wordpress 标签云制作
  • 建网站挣钱安徽建设厅城乡官网
  • 上海哪学网站建设优化app内测分发平台
  • 网站定制报价表wordpress开发者文档下载
  • 大连专业做网站学校网站管理系统