AtCoder Regular Contest 189 (Div. 2)

news/2024/12/12 22:01:58/文章来源:https://www.cnblogs.com/lyrrr/p/18603537

A

计数

B

折叠差不变

D

观察性质暴力

#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define endl '\n'
#define LL long longconst int N = 5e5 + 10;
int n, a[N], l[N], r[N];
LL pre[N], suf[N], b[N];void solve() {cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i];b[i] = a[i];l[i] = i - 1; r[i] = i + 1;pre[i] = pre[i - 1] + a[i];}for (int i = n; i >= 1; i--) {suf[i] = suf[i + 1] + a[i];}while (1) {bool flag = 0;for (int i = 1; i <= n; i++) {while (l[i] >= 1 && b[i] > a[l[i]]) {b[i] += pre[l[i]] - pre[l[l[i]]];l[i] = l[l[i]];flag = 1;}}for (int i = n; i >= 1; i--) {while (r[i] <= n && b[i] > a[r[i]]) {b[i] += suf[r[i]] - suf[r[r[i]]];r[i] = r[r[i]];flag = 1;}}if (!flag) break;}for (int i = 1; i <= n; i++) {cout << b[i] << ' ';}
}int main() {// ios::sync_with_stdio(false);// cin.tie(nullptr);// cin >> t;solve();return 0;
}

笛卡尔树(特殊)

#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define endl '\n'
#define LL long longconst int N = 5e5 + 10;
int n, a[N], ls[N], rs[N], k, stk[N];
LL ans[N], sum[N];
void dfs1(int x) {sum[x] = a[x];if (ls[x]) dfs1(ls[x]);if (rs[x]) dfs1(rs[x]);if (ls[x]) sum[x] += sum[ls[x]];if (rs[x]) sum[x] += sum[rs[x]];
}
void dfs(int x, int fa) {ans[x] = sum[x];if (fa && ans[x] > a[fa]) ans[x] = ans[fa];if (ls[x]) dfs(ls[x], x);if (rs[x]) dfs(rs[x], x);
}void solve() {int top = 0;cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i];while(k > 0 && a[stk[k]] < a[i]) k--;if (k) rs[stk[k]] = i;if (k < top) ls[i] = stk[k + 1];stk[++k] = i;top = k;}dfs1(stk[1]);dfs(stk[1], 0);a[0] = a[n + 1] = 1e9 + 7;for (int i = 1; i <= n; i++) {if (a[i - 1] < a[i] || a[i] > a[i + 1]) cout << ans[i] << ' ';else cout << a[i] << ' ';}
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);// cin >> t;solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/851592.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南

目标检测技术作为计算机视觉领域的核心组件,在自动驾驶系统、智能监控、零售分析以及增强现实等应用中发挥着关键作用。本文将详细介绍PaliGemma2模型的微调流程,该模型通过整合SigLIP-So400m视觉编码器与Gemma 2系列的高级语言模型,专门针对目标检测任务进行了优化设计。 本…

APP 内存泄露优化

原理 https://juejin.cn/post/6864492188404088846 分析 我的APP主要的VC路径如下:如果没有内存泄露的话,我们从一个VC_A开始push一个VC_B,无论在VC_B操作了什么,pop回到VC_A,这个时候的内存大小应该和VC_A在puhs VC_B的时候是一样大的。 如图: 页面结构:曲谱列表 push 曲…

VMware ESXi 8.0U3c macOS Unlocker OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版)

VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版)VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U3 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:…

12.12实验八:随机森林算法实现与测试

实验八:随机森林算法实现与测试 一、实验目的 深入理解随机森林的算法原理,进而理解集成学习的意义,能够使用 Python 语言实现随机森林算法的训练与测试,并且使用五折交叉验证算法进行模型训练与评估。二、实验内容 (1)从 scikit-learn 库中加载 iris 数据集,使用留出法…

VMware ESXi 8.0U3c 发布 - 领先的裸机 Hypervisor

VMware ESXi 8.0U3c 发布 - 领先的裸机 HypervisorVMware ESXi 8.0U3c 发布 - 领先的裸机 Hypervisor 同步发布 Dell (戴尔)、HPE (慧与)、Lenovo (联想)、IEIT SYSTEMS (浪潮信息)、Cisco (思科)、Fujitsu (富士通)、Hitachi (日立)、NEC (日电)、Huawei (华为)、xFusion (超聚…

VMware ESXi 8.0U3c macOS Unlocker OEM BIOS 2.7 标准版和厂商定制版

VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 ESXi 8.0U3 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、IEIT SYSTEMS (浪潮信息)、Cisco (思科)、Fujitsu (富士通…

使用Flex布局的几个小技巧

前情 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 Flex 布局,如果说目前我开发中离不开的布局方式那就非Flex莫属了,而且小程序就是推荐使用Flex布局的,对 Grid布局的支持不太理想。 在一次次使用fl…

C#学习笔记(一) Array学习笔记

之前一直学习各种基础知识,光学习,没有总结,趁着有时间,总结总结C#有关知识 Array类是最基础的数组类,官方文档截图如下:Array是一个抽象类,不能实例化,只能使用里面的方法,属性。 Array 类不是 System.Collections 命名空间的一部分。 但是,它仍被视为集合,因为它基…

VMware ESXi 7.0U3r macOS Unlocker OEM BIOS 2.7 标准版和厂商定制版

VMware ESXi 7.0U3r macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版VMware ESXi 7.0U3r macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 ESXi 7.0U3 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科)、Fujitsu (富士通)、Hitachi…

Ubuntu 20.04虚拟机无法上网,无法访问主机

查版本 Ubuntu基于Debian发行版和GNOME桌面环境 Xubuntu(发音为ZOO-bun-too)是一个Ubuntu Linux的官方派生版,它基于桌面环境Xfce,主要运行基于GTK+的程序,面向旧式电脑的用户和寻求更快捷的桌面环境的用户。它与Ubuntu不完全相同,但使用Ubuntu的高质量软件源。 /etc/net…

帮助用户与 AI 实时练习口语,Speak 为何能估值 10 亿美元?丨Voice Agent 学习笔记

👋活动招募:如果你正在关注 Voice Agent 的开发和创业,欢迎线上参与本周日(15 日)的 Voice Agent 开发者分享会。AI 语言学习公司 Speak 近日宣布完成 7800 万美元 C 轮融资,由 Accel 领投,OpenAI 创业基金、Khosla Ventures、Y Combinator 等顶级投资机构参投。此轮融…

12C++循环结构-for循环(2)——教学

1、循环变量为字符型; 2、打擂台-for语句的另一种形式; 3、break语句; 4、数位分离一、循环变量为字符型 试编一程序,按字典顺序输出26个字母。 流程图:思考:先顺序输出26个小写英文字母,再逆序输出26个大写英文字母。 循环可以是递增型循环,也可以是递减型循环。二、打…