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

广州网站建设选哪家秦皇岛市人事考试网

广州网站建设选哪家,秦皇岛市人事考试网,保定网站设计概述,网站开发 技术维护Problem - E - Codeforces 题意: 思路: 感觉是个套路题 对区间计数,按照CF惯用套路,枚举其中一个端点,对另一个端点计数 对于这道题,枚举右端点,对左端点计数 Code: #include &…

Problem - E - Codeforces

题意:

思路:

感觉是个套路题

对区间计数,按照CF惯用套路,枚举其中一个端点,对另一个端点计数

对于这道题,枚举右端点,对左端点计数

Code:

#include <bits/stdc++.h>#define int long longusing i64 = long long;constexpr int N = 1e6 + 10;
constexpr int M = 1e6 + 10;
constexpr int P = 2600;
constexpr i64 Inf = 1e18;
constexpr int mod = 1e9 + 7;
constexpr double eps = 1e-6;struct Segtree {int val, lazy;
}tr[N << 2];int n;
int a[N];
int lmi[N], lmx[N];void pushup(int rt) {tr[rt].val = tr[rt << 1].val + tr[rt << 1 | 1].val;
}
void build(int rt, int l, int r) {if (l == r) {tr[rt].val = 0;tr[rt].lazy = -1;return;}int mid = l + r >> 1;build(rt << 1, l, mid);build(rt << 1 | 1, mid + 1, r);pushup(rt);
}
void pushdown(int rt, int tot) {tr[rt << 1].lazy = tr[rt].lazy;tr[rt << 1 | 1].lazy = tr[rt].lazy;tr[rt << 1].val = (tot - tot / 2) * (tr[rt].lazy? 1 : 0);tr[rt << 1 | 1].val = (tot / 2) * (tr[rt].lazy? 1 : 0);tr[rt].lazy = -1;
}
void modify(int rt, int l, int r, int x, int y, int k) {if (x <= l && r <= y) {tr[rt].lazy = k;tr[rt].val = k * (r - l + 1);return;}if (tr[rt].lazy != -1) pushdown(rt, r - l + 1);int mid = l + r >> 1;if (x <= mid) modify(rt << 1, l, mid, x, y, k);if (y > mid) modify(rt << 1 | 1, mid + 1, r, x, y, k);pushup(rt);
}
void solve() {std::cin >> n;for (int i = 1; i <= n; i ++) {std::cin >> a[i];}std::stack<int> S, S2;for (int i = 1; i <= n; i ++) {while(!S.empty() && a[S.top()] >= a[i]) S.pop();lmi[i] = S.empty() ? 0 : S.top();S.push(i);}for (int i = 1; i <= n; i ++) {while(!S2.empty() && a[S2.top()] <= a[i]) S2.pop();lmx[i] = S2.empty() ? 0 : S2.top();S2.push(i);}build(1, 1, n);int ans = 0;for (int r = 1; r <= n; r ++) {if (lmi[r] + 1 <= r - 1) modify(1, 1, n, lmi[r] + 1, r - 1, 0);if (lmx[r] + 1 <= r - 1) modify(1, 1, n, lmx[r] + 1, r - 1, 1);ans += tr[1].val;}std::cout << ans << "\n";
}
signed main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t = 1;while (t--) {solve();}return 0;
}

 

http://www.yayakq.cn/news/465794/

相关文章:

  • 建设网站投资多少钱wordpress前端用什么
  • 后台风格网站广东建设企业网站怎么样
  • 主题公园网站建设手机界面设计网站
  • 如何给公司做网站推广宣传免费的网站域名申请
  • 长春网站建设哪家公司好附近广告公司地址在哪里
  • 天津建立网站营销设计为什么不用wordpress
  • 建设广告网站费用wordpress虚拟物品
  • 网站开发维护计入什么费用海洋网络做网站不负责
  • 宁波专业网站制作服务wordpress 赞 分享
  • 网站建设注意内容做期货资讯网站
  • 电子商务网站建设开发wordpress更改端口
  • 淮北 网站建设郑州网站定制
  • 可以做设计兼职的网站什么是软件开发工程师
  • 东莞南城电子网站建设江西省工程建设信息官方网站
  • 西安云众网站建设提高wordpress性能宝塔
  • 做网站开发学什么语言网站建设丿金手指专业
  • 买域名的网站沈阳市做网站的公司
  • 国内建设网站wordpress 文章置顶显示
  • 网站建设多少钱一个月什么网站可以做字体效果图
  • 做网站 图片显示不出来wordpress翻译怎么用
  • 中山网站建设开发古冶区城乡建设局网站
  • 网站后台管理系统html下载pjax wordpress
  • 深圳微信分销网站制作合肥建站方案
  • 适合学生做网页练习的网站常见网站建设
  • 三乡网站建设公司杭州有几个区
  • 长沙学做网站建设浏览器官网入口
  • 长沙网站建设有哪些没有公司地址怎么注册公司
  • 网站销售怎么样的平面设计基础学什么
  • 伊宁网站建设优化电子商务网站建设 教案
  • 高职专业建设管理网站可以制作视频的软件有哪些