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

淄博网站制作定制改版招商网站开发

淄博网站制作定制改版,招商网站开发,做足球原创短视频网站,东莞网络推广网站F. Strange Array 给定一个长度为nnn的数组aaa#xff0c;1≤ai≤n1 \leq a_i \leq n1≤ai​≤n#xff0c;对于每个aia_iai​#xff0c;我们要找到一个l≤i,r≥il \leq i, r \geq il≤i,r≥i#xff0c; 使得#xff0c;我们对区间[l,r][l, r][l,r]升序后#xff0c;…F. Strange Array 给定一个长度为nnn的数组aaa1≤ai≤n1 \leq a_i \leq n1≤ai​≤n对于每个aia_iai​我们要找到一个l≤i,r≥il \leq i, r \geq il≤i,r≥i 使得我们对区间[l,r][l, r][l,r]升序后值为aia_iai​的数与中位数相隔最远输出这个最远距离。 我们分两种情况讨论 aia_iai​在中位数的左边也就是ai≤a_i \leqai​≤中位数我们考虑把aj≥aia_j \geq a_iaj​≥ai​的设置为111其他都设置为−1-1−1 则我们就是要对每个iii找到一个区间[l,r][l, r][l,r]使得区间和最大假设这个区间和为xxx则答案即为x2\frac{x}{2}2x​ aia_iai​在中位数的右边也就是ai≥a_i \geqai​≥中位数我们考虑把aj≤aia_j \leq a_iaj​≤ai​的设置为111其他设置为−1-1−1 则我们就是要对每个iii找到一个区间[l,r][l, r][l,r]使得区间和最大假设这个区间和为xxx则答案即为x12−1\frac{x 1}{2} - 12x1​−1。 综上我们对这两个答案取maxmaxmax即可至于对值的维护我们可以考虑用主席树维护区间左、右最大和即可。 #include bits/stdc.husing namespace std;const int N 2e5 10;int root[N], ls[N 5], rs[N 5], num;int a[N], ans[N], n;vectorint P[N];struct Res {int lsum, sum, rsum; }T[N 5];Res operator (Res a, Res b) {return {max(a.lsum, a.sum b.lsum), a.sum b.sum, max(a.rsum b.sum, b.rsum)}; }void push_up(int rt) {T[rt] T[ls[rt]] T[rs[rt]]; }void build(int rt, int l, int r) {rt num;if (l r) {T[rt] {1, 1, 1};return ;}int mid l r 1;build(ls[rt], l, mid);build(rs[rt], mid 1, r);push_up(rt); }void update(int rt, int pre, int l, int r, int x, int v) {rt num, ls[rt] ls[pre], rs[rt] rs[pre];if (l r) {T[rt] {v, v, v};return ;}int mid l r 1;if (x mid) {update(ls[rt], ls[pre], l, mid, x, v);}else {update(rs[rt], rs[pre], mid 1, r, x, v);}push_up(rt); }Res query(int rt, int l, int r, int L, int R) {if (l L r R) {return T[rt];}int mid l r 1;if (L mid R mid) {return query(ls[rt], l, mid, L, R) query(rs[rt], mid 1, r, L, R);}else if (L mid) {return query(ls[rt], l, mid, L, R);}else {return query(rs[rt], mid 1, r, L, R);} }int main() {// freopen(in.txt, r, stdin);// freopen(out.txt, w, stdout);scanf(%d, n);for (int i 1; i n; i) {scanf(%d, a[i]);P[a[i]].push_back(i);}build(root[1], 1, n);for (int i 2; i n; i) {root[i] root[i - 1];for (auto it : P[i - 1]) {update(root[i], root[i], 1, n, it, -1);}}for (int i 1; i n; i) {int lsum 0, rsum 0, sum 1;if (i ! 1) {lsum query(root[a[i]], 1, n, 1, i - 1).rsum;}if (i ! n) {rsum query(root[a[i]], 1, n, i 1, n).lsum;}if (lsum 0) {sum lsum;}if (rsum 0) {sum rsum;}ans[i] max(ans[i], sum 1);}for (int i 1; i num; i) {ls[i] rs[i] 0;}for (int i 1; i n; i) {root[i] 0;}num 0;build(root[n], 1, n);for (int i n - 1; i 1; i--) {root[i] root[i 1];for (auto it : P[i 1]) {update(root[i], root[i], 1, n, it, -1);}}for (int i 1; i n; i) {int lsum 0, rsum 0, sum 1;if (i ! 1) {lsum query(root[a[i]], 1, n, 1, i - 1).rsum;}if (i ! n) {rsum query(root[a[i]], 1, n, i 1, n).lsum;}if (lsum 0) {sum lsum;}if (rsum 0) {sum rsum;}ans[i] max(ans[i], (sum 1) / 2 - 1);}for (int i 1; i n; i) {printf(%d%c, ans[i], i n ? \n : );}return 0; }
http://www.yutouwan.com/news/401280/

相关文章:

  • 做网站一般像素WordPress为什么卡
  • 网站流量怎么做如何同步目录wordpress
  • 十大黄冈网站排行榜自助建设网站
  • 分类信息网站 建议 建设最新型建筑模板有哪些
  • 常州做网站麦策电商做网站不给钱
  • 教务管理系统入口保定网站排名优化
  • 佛山网络排名优化临沂seo顾问
  • 视频网站的建设目标wordpress 加水印
  • 淘宝请人做网站被骗东莞网站的优化
  • 对酒店网站建设的意见网站菜单导航怎么做的
  • 网站持有者和备案企业如何管理网站页面设计
  • 校园网站建设毕业设计广州 企业网站建设
  • 做了静态网站怎么显示在互联网上域名与ip地址的关系
  • 网站开发客户哪里找爱企业查询
  • 电子商务网站建设与维护期末答案wordpress函数调用
  • 潍坊网站建设策划在wordpress上添加播放视频教程
  • 手机就可以直接做设计的网站域名买卖违法吗
  • 江苏嘉文建设发展有限公司网站免费单页网站模板
  • 中关村在线官方网站wordpress搭建子網站
  • 网站开发外包 价格绍兴注册公司
  • 平面设计软件免费网站优化报表
  • 百度百科网站开发网页设计作业之玩具商城网站
  • 网站推广策划案格式及范文wordpress grace6
  • 如何做酒网站小白 wordpress
  • 南宁网站seo大概多少钱龙岩kk网最新招聘
  • 合肥做网站开发多少钱徐州旅游的网站建设
  • 郑州高新区建设环保局网站企业管理咨询与诊断实践报告
  • net网站建设语言太原网站建设王道下拉惠
  • 北京个人网站制作类似淘宝商城网站建设方案
  • 网站开发 平台建设网站建设公司年终总结