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

天梯赛L2题解(013-016)

L2-013 红色警报

呃,怎么说呢,题目讲的可能不太清楚,大概就是说只要连通块数量增加,那么就要发出红色警报,所以我们每去掉一个点的时候重新再搜索一下不包含这个点的图的连通块数量就行,我这里用的是bfs

#include <bits/stdc++.h>
using namespace std;
#define int long long
using PII = pair<int, int>;void ylh_() {int n, m;cin >> n >> m;vector<vector<int>> g(n);for (int i = 1; i <= m; ++i) {int u, v;cin >> u >> v;g[u].push_back(v);g[v].push_back(u);}vector<int> exist(n + 1, 1);auto bfs = [&]() -> int {vector<int> vis(n + 1);int cnt = 0;for (int i = 0; i < n; ++i) {if (vis[i] || !exist[i])continue;queue<int> q;q.push(i);++cnt;while (!q.empty()) {auto u = q.front();q.pop();if (vis[u])continue;vis[u] = 1;for (auto v : g[u]) {if (!vis[v] && exist[v]) {q.push(v);}}}}return cnt;};int k;cin >> k;vector<int> res(k + 1);res[0] = bfs();for (int i = 1; i <= k; ++i) {int x;cin >> x;exist[x] = 0;res[i] = bfs();if (res[i] > res[i - 1]) {cout << "Red Alert: City " << x << " is lost!\n";} else {cout << "City " << x << " is lost.\n";}if (res[i] == 0) {cout << "Game Over.";}}
}int32_t main() {ios::sync_with_stdio(0);cin.tie(0);int T = 1;// cin >> T;while (T--) {ylh_();}
}

L2-014 列车调度

用Set维护每一个轨道的尾巴,显然某个值比这个尾巴小的时候才能放进这个轨道,而且最好插入目前最相近的尾巴,如果不能插入,那么就新开一条轨道

#include <bits/stdc++.h>
using namespace std;
#define int long long
using PII = pair<int, int>;void ylh_() {int n;cin >> n;set<int> st;st.insert(0);for(int i = 0; i < n; i++) {int t;cin >> t;auto it = st.upper_bound(t);if(it != st.end()) st.erase(it);st.insert(t);}cout << st.size() - 1 << endl;
}int32_t main() {ios::sync_with_stdio(0);cin.tie(0);int T = 1;// cin >> T;while (T--) {ylh_();}
}

L2-015 互评成绩

时间复杂度可以用优先队列压一下,但是不压也能过,无所谓了

#include <bits/stdc++.h>
using namespace std;
#define int long long
using PII = pair<int, int>;void ylh_() {int n, k, m;cin >> n >> k >> m;vector<int> a(n + 1);for (int i = 1; i <= n; ++i) {int x;cin >> x;int min_ = x, max_ = x, sum_ = x;for (int j = 1; j < k; ++j) {cin >> x;min_ = min(min_, x);max_ = max(max_, x);sum_ += x;}a[i] = sum_ - min_ - max_;}sort(a.begin() + 1, a.end(), greater<int>());for (int i = m; i >= 1; --i) {double res = 1.00 * a[i] / (k - 2);cout << fixed << setprecision(3) << res;if (i != 1) {cout << ' ';}}
}int32_t main() {ios::sync_with_stdio(0);cin.tie(0);int T = 1;// cin >> T;while (T--) {ylh_();}
}

L2-016 愿天下有情人都是失散多年的兄妹

太保守了导致一开始少过几个点,注意即使为人父母也是可以被询问的

#include <bits/stdc++.h>
using namespace std;
#define int long long
using PII = pair<int, int>;void ylh_() {int n;cin >> n;const int N = 1e5;vector<int> dad(N + 1, -1), mom(N + 1, -1), x(N + 1);for (int i = 1; i <= n; ++i) {int idx, f, m;char c;cin >> idx >> c >> f >> m;x[idx] = ((c == 'M') ? 1 : 2);dad[idx] = f;mom[idx] = m;if (f != -1) x[f] = 1;if (m != -1) x[m] = 2;//注意即使身为人父人母也是可以被询问的}int ok = 1;auto f = [&](auto&& f, int x, int y, int cnt) -> void {// cout << x << ' ' << y << '\n';if (x == -1 || y == -1) return ;if (x == y) {ok = 0;return;}if (cnt > 4)return;if (dad[x] != -1 && dad[y] != -1)f(f, dad[x], dad[y], cnt + 1);if (dad[x] != -1 && mom[y] != -1)f(f, dad[x], mom[y], cnt + 1);if (mom[x] != -1 && dad[y] != -1)f(f, mom[x], dad[y], cnt + 1);if (mom[x] != -1 && mom[y] != -1)f(f, mom[x], mom[y], cnt + 1);};int q;cin >> q;while (q--) {int u, v;cin >> u >> v;if (x[u] == x[v]) {cout << "Never Mind\n";continue;}ok = 1;f(f, u, v, 1);cout << ((ok) ? "Yes" : "No") << '\n';}
}int32_t main() {ios::sync_with_stdio(0);cin.tie(0);int T = 1;// cin >> T;while (T--) {ylh_();}
}
http://www.jsqmd.com/news/512016/

相关文章:

  • 模型部署需要考虑的性能指标和模型部署的步骤
  • 轻松制作燃料型原油蒸馏工艺流程图超便捷
  • 数据库课程设计实战:构建一个基于Youtu-Parsing的学术文献管理系统
  • 小天才海外版 imoo 发布二合一硬件,具备实时翻译功能;Streamo:让大模型变成实时流式交互助手丨日报
  • 上银导轨生产厂家哪家好?2026年评测结果出炉,市面上技术好的上银导轨哪家好甄选实力品牌 - 品牌推荐师
  • Mirage Flow与STM32CubeMX集成开发:自动化代码生成与模型调用
  • LiveGBS流媒体平台GB/T28181支持国标2022-操作日志页面如何筛选上级平台的调用记录直播观看录像回看等操作信息
  • 双向链表:从结构到增删改查
  • Vue3项目里用monaco-editor做个在线代码编辑器(带复制重置功能)
  • TIM+PWM输出+输入捕获测 频率+占空比(HAL库)
  • SEO_掌握这几个SEO技巧,让你的流量快速增长
  • Python信贷冷启动信用风险评估:WOE编码、IV筛选、代价敏感学习与逻辑回归稀疏样本建模 | 附代码数据
  • 别再手动复制了!用Vxe-Table的exportData方法,5分钟搞定Vue项目表格数据导出(含PDF/XLSX避坑指南)
  • 9.9元包月,告别Token焦虑,零配置,7×24 在线,火山引擎 ArkClaw “云端OpenClaw”龙虾私人助理,支持ClawHub技能插件
  • 【Rust面试问题】所有权机制
  • 黑丝空姐-造相Z-Turbo实战体验:输入文字秒出图片,效果惊艳
  • 解决PyTorch 2.6兼容性问题:YOLOv8部署避坑指南
  • ISO 9001认证到底有啥用?
  • Pixel Dimension Fissioner效果展示:技术博客标题的SEO友好型+传播力双强化裂变
  • 大模型提示词工程实战:从入门到高效应用
  • FastJson JSONPath 路径取值用法与场景总结
  • SEO_从零开始,手把手教你制定SEO执行方案(199 )
  • 西门子伺服分拣机西门子S7-1200 PLC程序,,有自己录4平详细讲解项目程序,4平已保护 ...
  • 2026哈尔滨汽车维修性价比排名,哈尔滨连顺汽车维修钣金喷漆价格合理吗 - 工业品网
  • VideoAgentTrek Screen Filter 与物联网结合:智能终端屏幕状态监控系统
  • 2026年上海境易达出国靠谱吗,深入分析其移民服务实力 - myqiye
  • 使用 Dify 快速构建对话式工作流:从零打造会议室预约智能体
  • Dify Token用量失控?3步完成轻量级监控插件部署,含OpenTelemetry埋点配置与成本阈值告警模板
  • 搞TC397的AUTOSAR?来点真实力
  • 为什么我们的大脑是“推理机”而非“硬盘”:关于学习、记忆与智慧的认知科学深度解析.