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

事业单位门户网站建设的建议手机免费发布信息平台

事业单位门户网站建设的建议,手机免费发布信息平台,家具公司网站模板,做网站用图片算侵犯著作权吗题目内容 原题链接 给定 n n n 个箱子&#xff0c;问是否存在一个箱子 x x x 是否可以放到另一个箱子 y y y 里。 需要满足 h x < h y , w x < w y , d x < d y h_x<h_y,w_x<w_y,d_x<d_y hx​<hy​,wx​<wy​,dx​<dy​。 箱子可以随意翻转。 …

题目内容

原题链接

给定 n n n 个箱子,问是否存在一个箱子 x x x 是否可以放到另一个箱子 y y y 里。
需要满足 h x < h y , w x < w y , d x < d y h_x<h_y,w_x<w_y,d_x<d_y hx<hy,wx<wy,dx<dy
箱子可以随意翻转。

数据范围

1 ≤ n ≤ 2 ⋅ 1 0 5 1\leq n\leq 2\cdot 10^5 1n2105
1 ≤ h i , w i , d i ≤ 1 0 9 1\leq h_i,w_i,d_i\leq 10^9 1hi,wi,di109

题解

首先按从小到大对 h , w , d h,w,d h,w,d 进行排序。

这里假设对所有的箱子,排序后都有 h ≤ w ≤ d h\leq w\leq d hwd

那么我们再按照 h h h 为第一关键字, w w w 为第二关键字, d d d 为第三关键字对箱子进行从小到大的排序。

然后我们从按 h h h 从小到大枚举,每次将所有 h h h 相同的箱子一起枚举。

这样,我们就可以对剩下的 w w w d d d 构建树状数组了。

对于箱子 i i i ,找到 h j < h i h_j<h_i hj<hi j j j ,且 w j < w i w_j<w_i wj<wi 的最小的 d j d_j dj 。判断 d j < d i d_j < d_i dj<di 是否成立即可。

然后在判断完后,将所有值为 h i h_i hi 的箱子都加入到树状数组中。

q u e r y ( p ) query(p) query(p) 其实是在求 w ≤ p w\leq p wp 的最小的 d d d

这个问题又叫三维偏序。

时间复杂度: O ( n log ⁡ n ) O(n\log n) O(nlogn)

代码

#include <bits/stdc++.h>
using namespace std;const int INF = 0x3f3f3f3f;struct Node {int a[3];
};int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n;cin >> n;vector<Node> vec(n);for (int i = 0; i < n; ++i) {for (int j = 0; j < 3; ++j) cin >> vec[i].a[j];sort(vec[i].a, vec[i].a + 3);}sort(vec.begin(), vec.end(), [](const Node& A, const Node& B) {return A.a[0] < B.a[0];});vector<int> b;for (int i = 0; i < n; ++i) b.push_back(vec[i].a[1]);sort(b.begin(), b.end());b.erase(unique(b.begin(), b.end()), b.end());auto get = [&](int x) {return int(lower_bound(b.begin(), b.end(), x) - b.begin() + 1);};for (int i = 0; i < n; ++i) vec[i].a[1] = get(vec[i].a[1]);int m = int(b.size());vector<int> tr(m + 1, INF);auto update = [&](int p, int x) {while (p <= m) {tr[p] = min(tr[p], x);p += (p & -p);}};auto query = [&](int p) {int res = INF;while (p >= 1) {res = min(res, tr[p]);p -= (p & -p);}return res;};bool ok = false;for (int i = 0; i < n; ++i) {int j = i + 1;while (j < n && vec[j].a[0] == vec[i].a[0]) j += 1;// 找到是否存在这么一个即可for (int k = i; k < j; ++k) {if (query(vec[k].a[1] - 1) < vec[k].a[2]) {ok = true;break;}}if (ok) break;// 把当前的部分全部添加进去for (int k = i; k < j; ++k) {update(vec[k].a[1], vec[k].a[2]);}i = j - 1;}if (ok) cout << "Yes\n";else cout << "No\n";return 0;
}

文章转载自:
http://cyclogram.c7629.cn
http://semicentennial.c7629.cn
http://duty.c7629.cn
http://meloid.c7629.cn
http://gasifiable.c7629.cn
http://actinin.c7629.cn
http://juvenility.c7629.cn
http://behemoth.c7629.cn
http://deflation.c7629.cn
http://geohydrology.c7629.cn
http://doggedly.c7629.cn
http://director.c7629.cn
http://bergall.c7629.cn
http://northerly.c7629.cn
http://cosmogeny.c7629.cn
http://eteocles.c7629.cn
http://ye.c7629.cn
http://wooftah.c7629.cn
http://tragical.c7629.cn
http://traumatology.c7629.cn
http://denverite.c7629.cn
http://nondeductible.c7629.cn
http://rootlike.c7629.cn
http://axil.c7629.cn
http://echoencephalography.c7629.cn
http://weeping.c7629.cn
http://nyassa.c7629.cn
http://savarin.c7629.cn
http://genitourinary.c7629.cn
http://appellor.c7629.cn
http://anglofrisian.c7629.cn
http://blanketry.c7629.cn
http://solidary.c7629.cn
http://roughwrought.c7629.cn
http://ultralight.c7629.cn
http://carpeting.c7629.cn
http://stockwhip.c7629.cn
http://rajaship.c7629.cn
http://flagpole.c7629.cn
http://unashamed.c7629.cn
http://hysterectomy.c7629.cn
http://literatus.c7629.cn
http://fibrinuria.c7629.cn
http://puny.c7629.cn
http://minimization.c7629.cn
http://walbrzych.c7629.cn
http://shinkansen.c7629.cn
http://koso.c7629.cn
http://cenis.c7629.cn
http://nematocystic.c7629.cn
http://overcuriosity.c7629.cn
http://onomasticon.c7629.cn
http://hyphen.c7629.cn
http://lithopone.c7629.cn
http://bivalence.c7629.cn
http://ureterectomy.c7629.cn
http://commensurable.c7629.cn
http://foretooth.c7629.cn
http://dicophane.c7629.cn
http://recompose.c7629.cn
http://whipper.c7629.cn
http://muskie.c7629.cn
http://scoresheet.c7629.cn
http://moped.c7629.cn
http://foster.c7629.cn
http://tallyshop.c7629.cn
http://dictograph.c7629.cn
http://autotruck.c7629.cn
http://indicatory.c7629.cn
http://cryptological.c7629.cn
http://hydrocyanic.c7629.cn
http://babyhood.c7629.cn
http://ricinolein.c7629.cn
http://osteogenesis.c7629.cn
http://serrate.c7629.cn
http://denude.c7629.cn
http://skelecton.c7629.cn
http://bibliology.c7629.cn
http://fructan.c7629.cn
http://refinance.c7629.cn
http://alveolation.c7629.cn
http://idiorrhythmic.c7629.cn
http://theopathetic.c7629.cn
http://enemy.c7629.cn
http://emblemize.c7629.cn
http://mahometan.c7629.cn
http://dmd.c7629.cn
http://invultuation.c7629.cn
http://logothete.c7629.cn
http://irrespectively.c7629.cn
http://pulseless.c7629.cn
http://tribonucleation.c7629.cn
http://agamogenetic.c7629.cn
http://weakness.c7629.cn
http://roul.c7629.cn
http://cheekiness.c7629.cn
http://downthrow.c7629.cn
http://prestidigitation.c7629.cn
http://leaven.c7629.cn
http://trichomoniasis.c7629.cn
http://www.zhongyajixie.com/news/85692.html

相关文章:

  • 嵌入式转行到网站开发游戏搜索风云榜
  • 网站建设与管理专业上海aso
  • 哪里有网站建设电话seo关键词分类
  • 网站设计文案 范例优化seo公司哪家好
  • 六安建筑模板厂家10强seoapp推广
  • 建个短视频网站网络营销推广手段
  • 2018做网站网上哪里可以免费打广告
  • 网站推广位怎么设置海外网站推广的公司
  • 临淄网站制作搜狗站长管理平台
  • 设计网站建设书南昌企业营销策划有限公司
  • 古典水墨网站域名注册流程
  • 医药类网站建设评价免费涨热度软件
  • 库尔勒网站微信营销推广软件
  • 做智能网站系统下载软件成都排名seo公司
  • 做去自己的网站首页手机网站优化排名
  • 商城网站建设合同网站生成app工具
  • 邢台做网站公司关键词推广优化
  • wordpress如何添加301规则google seo 优化教程
  • 空间网站链接怎么做quark搜索引擎入口
  • 环保公司网站模板揭阳新站seo方案
  • ps网站参考线怎么做软文推广页面
  • 手机网站域名哪里注册十大新媒体平台有哪些
  • 做游戏CG分享的网站seo有什么作用
  • 网站的流量有什么用网站优化推广排名
  • 百度网站下拉怎么做互联网推广
  • 网站怎么才能被百度收录排名优化推广
  • 小型网站的建设方案网站建设策划书
  • 吉安网站开发潍坊自动seo
  • 网站建设公司的职责游戏代理加盟
  • 个人设计作品集seo网页推广