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

AT AGC005 题解

A

栈维护括号匹配,\(S \to (, T \to )\)

#include <bits/stdc++.h>using i64 = long long;void solve() {std::string s;std::cin >> s;std::stack<char> stc;for (auto i : s) {if (i == 'T' && stc.size()) {if (stc.top() == 'S') {stc.pop(); continue;}}stc.push(i);}std::cout << stc.size() << "\n";
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);solve();return 0;
}

B

一开始看错题了,注意题目表达的是“所有子区间最小值之和”,考虑平衡树。将所有元素按照 \((a_i, i)\) 绑入,按照 \(a_i\) 的大小排序之后按次插入平衡树中,每次去找当前位置的前驱后继就可以了,统计答案是简单的乘法原理。

#include <bits/stdc++.h>
#include <bits/extc++.h> using i64 = long long;constexpr int N = 2e5 + 7;int n;
i64 ans;struct Elem {int v, i;bool operator < (const Elem &rhs) const {return v < rhs.v;}
};int a[N];std::vector<Elem> vec;
__gnu_pbds::tree<int, __gnu_pbds::null_type, std::less<int>, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update> tr;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cin >> n;for (int i = 1; i <= n; i++) {std::cin >> a[i];vec.push_back({a[i], i});}std::sort(vec.begin(), vec.end());tr.insert(0); tr.insert(n + 1);for (const auto &[v, i] : vec) {int l = i - *tr.upper_bound(i), r = *std::prev(tr.lower_bound(i)) - i;ans += 1ll * v * l * r;tr.insert(i);}std::cout << ans << "\n";return 0;
}

C

究极无敌简单题。考虑树上最远距离就是直径,找到距离最远的两个点抓出来做匹配,容易发现其实就是走到中点前降、走过中点之后升的这么一个过程,开桶每次匹配两个上去,如果匹配不上报告无解。

#include <bits/stdc++.h>using i64 = long long;constexpr int N = 107;int n, mxd;
int a[N], cnt[N];int work() {int mid = mxd / 2 + 1;for (int i = mid; i <= mxd; i++) {cnt[i] -= 2;if (cnt[i] < 0)return 0;} if (!(mxd & 1)) {cnt[mid - 1]--;if (cnt[mid - 1] < 0)return 0;mid--;}for (int i = 1; i <= mid; i++) {if (cnt[i])return 0;}return 1;
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cin >> n;for (int i = 1; i <= n; i++) {std::cin >> a[i];cnt[a[i]]++;mxd = std::max(mxd, a[i]);}std::cout << (work() ? "Possible" : "Impossible") << "\n";return 0;
}
http://www.gsyq.cn/news/57035.html

相关文章:

  • Spring Security-PasswordEncoder密码解析器详解和自定义登录逻辑
  • 2025 胶管厂家最新推荐排行榜:耐高压 35MPa / 热熔 / 特种工况优质品牌精选矿用/大口径吸排泥/低压/耐高温/钢丝编制/输油胶管公司推荐
  • 2025 装盒机厂家最新推荐排行榜:全自动 / 食品 / 纸巾 / 卫生巾装盒机权威测评,技术创新与整线配套能力
  • 机械 / 汽车 / 电子设计师必看!Creo 11.0 下载安装,创成式设计 + 实时仿真
  • 黔东南苗族侗族自治州一对一家教机构推荐,2025教育机构靠谱测评排行榜
  • 2025年11月工业CT厂家推荐榜:权威评测与综合对比分析
  • 2025年新疆高三复读班权威推荐榜单:高三补习班/高三复读全日制/私立高中学校精选
  • Json C语言嵌套遍历Json节点
  • Java企业级Function Calling落地:JBoltAI的架构设计与实践之道
  • 邢台市一对一家教机构推荐,2025最新教育机构权威测评榜单
  • 毕节市一对一家教机构推荐,2025最新教育机构权威测评榜单
  • 2025年新疆高三复读班权威推荐榜单:高三集训班/高三补习班/民办高中管理学校精选
  • 2025年KCA订做厂家权威推荐榜单:KCB/KX型/EX型源头厂家精选
  • 2025宜春市一对一辅导测评排行榜:这些机构值得推荐
  • 秦皇岛市一对一家教机构推荐,2025最新教育机构口碑实用排名
  • ImageViewer.js:一个零依赖的现代化图片预览组件
  • 唐山市一对一家教机构推荐,2025年最新教育机构权威测评排行榜
  • 2025年重庆横幅条幅制作公司权威推荐榜单:LED滚动屏广告制作/广告牌安装服务/气球拱门广告制作源头公司精选
  • 2025年平台钢格板定做厂家权威推荐榜单:电厂钢格板/镀锌钢格板/异形钢格板源头厂家精选
  • sqli-labs通关(持续更新)
  • 2025 最新天津短视频运营品牌实力排行榜:权威测评最新推荐,技术与服务双优企业精选天津宣传片制作/天津宣传片制作公司/天津宣传片拍摄/天津宣传片拍摄公司推荐
  • 2025年干挂石材厂家排行及选择指南
  • 2025年壁挂饮水机实力厂家权威推荐榜单:瞬间热饮机/热饮机/嵌入式管线机源头厂家精选
  • 2026清远一对一家教机构推荐:五大辅导机构测评排行榜,综合实力全解析!
  • 2026潮州一对一家教机构推荐:五大辅导机构测评排行榜,综合实力全解析!
  • 2026年云浮一对一家教机构推荐:五大辅导机构测评排行榜,综合实力全解析!
  • 2025年电子站牌厂家排名前十强:兰太城市科技实力登顶
  • 2025年公交站台定制厂家前十强排名与选购指南
  • 2025年11月香港副学士申请机构推荐榜:权威机构对比与选择指南
  • 商业智能BI 浅谈数据孤岛和数据分析的发展 - 教程