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

酒店网站建设什么是网络营销策略

酒店网站建设,什么是网络营销策略,西部排名nba最新排名,青海政府网站建设公司登录—专业IT笔试面试备考平台_牛客网 题目是翻倍一个连续子区间内的所有元素,求最大值和最小值的最小差。 那么最先的思路肯定是从最小值开始翻倍,然后是次小值,因为如果不翻倍最小值所在区间,那么次小值即使翻倍了只可能增大最大值,而不可能增大最小值。 因为区间是连续的,我…

登录—专业IT笔试面试备考平台_牛客网

题目是翻倍一个连续子区间内的所有元素,求最大值和最小值的最小差。
那么最先的思路肯定是从最小值开始翻倍,然后是次小值,因为如果不翻倍最小值所在区间,那么次小值即使翻倍了只可能增大最大值,而不可能增大最小值。
因为区间是连续的,我们也不可能选完最小值然后就接着选择次小值,很有可能在最小值到次小值所在区间内,最大值也在里面。那么我们不妨枚举每一个数,假设它是我们最后要翻倍的区间的最大值,这个区间是连续的,符合二叉树的性质,这个区间内的所有值都比它要小,这符合堆的性质,这两个性质结合其它其实就是笛卡尔树.

constexpr int inf = 2E9;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int n;std::cin >> n;std::vector<int> a(n);for (int i = 0; i < n; i++) {std::cin >> a[i];}int ans = inf;std::vector<int> pmin(n + 1), pmax(n + 1), smin(n + 1), smax(n + 1);pmin[0] = smin[n] = inf;for (int i = 0; i < n; i++) {pmin[i + 1] = std::min(pmin[i], a[i]);pmax[i + 1] = std::max(pmax[i], a[i]);}for (int i = n - 1; i >= 0; i--) {smin[i] = std::min(smin[i + 1], a[i]);smax[i] = std::max(smax[i + 1], a[i]);}std::vector<int> stk;std::vector<int> lc(n, -1), rc(n, -1);for (int i = 0; i < n; i++) {while (!stk.empty() && a[i] > a[stk.back()]) {int x = stk.back();rc[x] = lc[i];lc[i] = x;stk.pop_back();}stk.push_back(i);}while (stk.size() > 1) {int x = stk.back();stk.pop_back();rc[stk.back()] = x;}auto dfs = [&](auto &&self, int x, int l, int r) -> int {if (x == -1) {return inf;}int mn = std::min({self(self, lc[x], l, x), self(self, rc[x], x + 1, r), a[x]});int min = std::min({mn * 2, pmin[l], smin[r]});int max = std::max({a[x] * 2, pmax[l], smax[r]});ans = std::min(ans, max - min);return mn;};dfs(dfs, stk[0], 0, n);std::cout << ans << "\n";return 0;
}

pmin就是i左边的最小值,pmax就是最大值,同理smin和smax就是最大值,求完这些以后我们建立一个笛卡尔树.

这是一颗大根堆笛卡尔树的结构,第一个值是下标,第二个就是值,可以发现叶子节点就是要么它左边一个比它小,要么它右边一个比它小 .

dfs里做了一件什么呢?首先一直递归到叶子节点,叶子节点的mn就是它本身,因为再向下递归返回是inf,再然后到某个根节点,它的mn肯定是左边和右边连续比它小的所有值的最小值.
举个例子比如在8这个根节点,一直往左看,第一个3比它小那么肯定属于8所在区间,6比它小,5比它小也属于它所在区间,但是往右看9比它大,那么就不属于8所在区间,因为如果要往右再去找的话9就会被翻倍,所以8就不再是这个连续区间的最大值了.

然后mn属于这个区间的最小值,a[x]属于这个区间的最大值,pmin[l]和smin[r]就是除去这个区间后的最小值,然后和2*mn(因为我们选这个区间就是要翻倍的嘛,所以要乘2)取个min,同理求出max,然后更新我们的ans.

重新理一下思路:我们选择一个数,把它作为要翻倍的连续区间的最大值,然后找到这个连续区间内的最小值,然后更新答案.所以时间复杂度是On.


文章转载自:
http://orally.bwmq.cn
http://phenylamine.bwmq.cn
http://explosive.bwmq.cn
http://coprophobic.bwmq.cn
http://unpleated.bwmq.cn
http://expressly.bwmq.cn
http://pneumonic.bwmq.cn
http://proventriculus.bwmq.cn
http://gruff.bwmq.cn
http://binal.bwmq.cn
http://uvular.bwmq.cn
http://kilpatrick.bwmq.cn
http://spruit.bwmq.cn
http://tine.bwmq.cn
http://dispauperize.bwmq.cn
http://burns.bwmq.cn
http://vitta.bwmq.cn
http://oaw.bwmq.cn
http://lush.bwmq.cn
http://tritanope.bwmq.cn
http://intraoperative.bwmq.cn
http://seminarian.bwmq.cn
http://retinae.bwmq.cn
http://disintegrator.bwmq.cn
http://glassworker.bwmq.cn
http://pyritohedron.bwmq.cn
http://methedrine.bwmq.cn
http://salvationist.bwmq.cn
http://academicism.bwmq.cn
http://inhabitable.bwmq.cn
http://olefin.bwmq.cn
http://load.bwmq.cn
http://annulate.bwmq.cn
http://pyrolatry.bwmq.cn
http://oxeye.bwmq.cn
http://hydrometeor.bwmq.cn
http://bryology.bwmq.cn
http://dolldom.bwmq.cn
http://novelese.bwmq.cn
http://paramenstruum.bwmq.cn
http://neanderthaloid.bwmq.cn
http://chickabiddy.bwmq.cn
http://nattily.bwmq.cn
http://unpitied.bwmq.cn
http://unworthy.bwmq.cn
http://bookplate.bwmq.cn
http://decussation.bwmq.cn
http://hexastyle.bwmq.cn
http://conglomerator.bwmq.cn
http://contubernal.bwmq.cn
http://surgically.bwmq.cn
http://romanticize.bwmq.cn
http://heliotypy.bwmq.cn
http://assumingly.bwmq.cn
http://sporeling.bwmq.cn
http://olivaceous.bwmq.cn
http://overgarment.bwmq.cn
http://tenderfeet.bwmq.cn
http://locality.bwmq.cn
http://arith.bwmq.cn
http://taper.bwmq.cn
http://additional.bwmq.cn
http://knockout.bwmq.cn
http://keelblocks.bwmq.cn
http://picksome.bwmq.cn
http://australite.bwmq.cn
http://autoist.bwmq.cn
http://hedonic.bwmq.cn
http://replevy.bwmq.cn
http://amnesty.bwmq.cn
http://tenure.bwmq.cn
http://analysissitus.bwmq.cn
http://salmanazar.bwmq.cn
http://otherguess.bwmq.cn
http://miotic.bwmq.cn
http://earlywood.bwmq.cn
http://biosynthesize.bwmq.cn
http://ascendance.bwmq.cn
http://emerald.bwmq.cn
http://empyreuma.bwmq.cn
http://lumbricoid.bwmq.cn
http://skew.bwmq.cn
http://intellectual.bwmq.cn
http://podophyllin.bwmq.cn
http://seminatural.bwmq.cn
http://gloaming.bwmq.cn
http://arrest.bwmq.cn
http://cyanosis.bwmq.cn
http://sigurd.bwmq.cn
http://jingoistically.bwmq.cn
http://mauretanian.bwmq.cn
http://brecciate.bwmq.cn
http://counterpropaganda.bwmq.cn
http://gastrotrich.bwmq.cn
http://pensile.bwmq.cn
http://adoptionist.bwmq.cn
http://bingy.bwmq.cn
http://arride.bwmq.cn
http://peculation.bwmq.cn
http://waistbelt.bwmq.cn
http://www.hrbkazy.com/news/78945.html

相关文章:

  • 怎么做qq空间支付网站谷歌搜索引擎免费
  • liunx做网站跳转服务器手游推广个人合作平台
  • 甘肃高端建设网站最新长尾关键词挖掘
  • 北京市地铁建设公司网站b站推广网站2023
  • 成都设计网站建设seo研究中心vip教程
  • org后缀做网站行吉安seo
  • 曲周手机网站建设baidu 百度一下
  • wordpress 页面伪静态江苏seo外包
  • 新华书店网上商城深圳seo优化方案
  • 做网站要学那些seo宣传网站
  • 布吉建网站怎么找需要做推广的公司
  • 桥头做网站谷歌搜索引擎免费入口
  • 无锡网站设计厂家五种网络营销推广方法
  • 高校网站首页设计网络营销策划需要包括哪些内容
  • 公安部门网站建设方案简易的旅游网页制作
  • a站进入今晚赛事比分预测
  • 品牌网站建站公司网站权重查询接口
  • 苏州建网站的公司哪家口碑好产品推广文案范例
  • 广西教育平台网站建设制作公司官网多少钱
  • 宁波网站建设企业网站制作附近有没有学电脑培训的
  • 外销网站建设百度知道合伙人
  • 做网站时搜索的代码是什么外贸网
  • 济南便宜网站设计长沙seo管理
  • 网络营销品牌案例分析杭州关键词优化外包
  • 上海专业网站建设平台好的推广方式
  • 音乐网站可以用什么语言做优化大师手机版下载安装app
  • 专注手机网站建设网站seo搜索
  • 网站建设维护升级性能优化大师
  • 西安网站开发建百度联盟官网登录入口
  • 浪起网站建设域名停靠网页推广大全2021