UNIQUE VISION Programming Contest 2025 Spring (AtCoder Beginner Contest 398)

news/2025/3/22 21:55:18/文章来源:https://www.cnblogs.com/maburb/p/18787193

A - Doors in the Center

分奇偶讨论

点击查看代码
void solve() {int n;std::cin >> n;if (n & 1) {std::string s = std::string(n / 2, '-') + "=" + std::string(n / 2, '-');std::cout << s << "\n";} else {std::string s = std::string(n / 2 - 1, '-') + "=";std::string ans = s;std::reverse(s.begin(), s.end());ans += s;std::cout << ans << "\n";}
}

B - Full House 3

判断出现次数最多的两个数是否满足条件。

点击查看代码
void solve() {int cnt[14]{};for (int i = 0; i < 7; ++ i) {int x;std::cin >> x;++ cnt[x];}std::sort(cnt, cnt + 14, std::greater<int>());if (cnt[0] >= 3 && cnt[1] >= 2) {std::cout << "Yes\n";} else {std::cout << "No\n";}
}

C - Uniqueness

题意:找一个位置它是唯一出现过的数里值最大的。

点击查看代码
void solve() {int n;std::cin >> n;std::vector<int> a(n);std::map<int, int> mp;for (int i = 0; i < n; ++ i) {std::cin >> a[i];++ mp[a[i]];}int ans = -1;for (int i = n - 1; i >= 0; -- i) {if (mp[a[i]] == 1) {if (ans == -1 || a[i] > a[ans - 1]) {ans = i + 1;}}}std::cout << ans << "\n";
}

D - Bonfire

题意:\((0, 0)\)处不断生成烟,每秒所有烟都会按照给出的序列移动,烟不会消失。求每个时刻\((r, c)\)这个位置有没有烟。

如果第\(i\)时刻有一团烟在\((r, c)\),那么就是有一个\([j, i]\)使得操作这个区间可以到\((r, c)\),那么用\(set\)存坐标的变化,如果当前坐标是\((x, y)\),判断有没有一个坐标是\((x - r, y - c)\)

点击查看代码
void solve() {int n, r, c;std::cin >> n >> r >> c;std::string s;std::cin >> s;std::set<std::pair<int, int>> set;int x = 0, y = 0;set.insert({x, y});std::string ans(n, '0');for (int i = 0; i < n; ++ i) {if (s[i] == 'N') {-- x;} else if (s[i] == 'W') {-- y;} else if (s[i] == 'S') {++ x;} else {++ y;}if (set.count({x - r, y - c})) {ans[i] = '1';}set.insert({x, y});}std::cout << ans << "\n";
}

E - Tree Game

题意:交互题。给出一棵树,你和别人轮流加边,加边的规则是,这个边之前没有出现过,且加上这条边之后没有奇数环出现。你可以选择是先手还是后手。

每次都只能给距离是偶数的点连边。
那么把所有距离是偶数的点存下来,根据奇偶判断先手。

点击查看代码
std::pair<int, int> ask() {int u, v;std::cin >> u >> v;return {u, v};
}void solve() {int n;std::cin >> n;std::vector<std::vector<int>> adj(n);for (int i = 1; i < n; ++ i) {int u, v;std::cin >> u >> v;-- u, -- v;adj[u].push_back(v);adj[v].push_back(u);}std::vector d(n, std::vector<int>(n));for (int i = 0; i < n; ++ i) {auto dfs = [&](auto & self, int u) -> void {for (auto & v : adj[u]) {if (d[i][v] == 0) {d[i][v] = d[i][u] + 1;self(self, v);}}};d[i][i] = 1;dfs(dfs, i);}std::set<std::pair<int, int>> s;for (int i = 0; i < n; ++ i) {for (int j = i + 1; j < n; ++ j) {if (d[i][j] % 2 == 0) {s.insert({i, j});}}}for (int i = 0; i < n; ++ i) {for (auto & v : adj[i]) {s.erase({i, v});}}if (s.size() % 2 == 1) {std::cout << "First" << std::endl;} else {std::cout << "Second" << std::endl;auto [u, v] = ask();F - ABCBAif (u == -1) {return;}if (u > v) {std::swap(u, v);}-- u, -- v;s.erase({u, v});}while (s.size()) {std::cout << s.begin()->first + 1 << " " << s.begin()->second + 1 << std::endl;s.erase(s.begin());auto [u, v] = ask();if (u == -1) {return;}if (u > v) {std::swap(u, v);}-- u, -- v;s.erase({u, v});}
}

F - ABCBA

题意:找一个字符串,使得\(s\)是它的前缀,且这个字符串是回文,并且要求长度尽可能小。

我们要求最长的是回文的后缀,这个可以用\(hash\)

点击查看代码
void solve() {std::string s;std::cin >> s;int n = s.size();std::vector<ui64> h(n + 1), rh(n + 1), p(n + 1);for (int i = 0; i < n; ++ i) {h[i + 1] = (131 * h[i] + s[i] - 'A');}for (int i = 0; i < n; ++ i) {rh[i + 1] = (131 * rh[i] + s[n - 1 - i] - 'A');}p[0] = 1;for (int i = 0; i < n; ++ i) {p[i + 1] = 131 * p[i];}auto get = [&](std::vector<ui64> & h, int l, int r) -> ui64{return (h[r] - h[l] * p[r - l]);};int pos = n;for (int i = n; i >= 1; -- i) {if (get(h, n - i + 1, n) == get(rh, 1, i)) {pos = n - i;break;}}std::string ans = s.substr(0, pos);std::reverse(ans.begin(), ans.end());ans = s.substr(0, pos) + s.substr(pos) + ans;std::cout << ans << "\n";
}

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

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

相关文章

浅说线性差分和树上差分

目录线性差分正常思路差分思路二维差分的定义二维差分的解释例题1 地毯树上差分引入点差分例题1——wwx的出玩分析与解答例题2——松鼠的新家分析与解答边差分例题1——边差分模版分析与解答例题2——运输计划分析与解答 线性差分 当我们这里有\(n\)个数,现在我要对其中一段进…

Spring 事务失效

场景1:代码:执行结果:异常抛出,但是数据没有回滚。 代理对象调用 b() 方法 没有开启事务:普通对象调用a() 方法开启事务:在b() 方法上加入事务注解,开启事务就没问题:本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/18787133

征程 6X CAMSYS 性能测试方案介绍

1.性能测试方法原理 CAMSYS 其性能指标主要包括:帧率、延迟,以及系统的 DDR 带宽、CPU 占用率等。 对于帧率、延迟,通过在驱动中创建 trace event,分别记录通路上的每个 IP,每帧开始处理(frame_start)和结束处理(frame_end)的时间戳信息和帧信息,来实现帧率计算和延迟…

数据结构2

概率论与数理统计1-基本概念 概率论与数理统计2-基本数据结构 概率论与数理统计3-基本数据处理技术 基本的数据结构 - 数据结构- 数据的逻辑结构- 线性结构- 线性表- 栈(特殊的线性表)- 队列(特殊的线性表)- 字符串- 数组- 广义表- 非线性结构- 树型结构- 图型结构- 数据的存储…

day7 刷牛客华为机试题+学java

https://www.nowcoder.com/exam/oj/ta?page=1&tpId=37&type=37 字符串 第一题:第二题: 省行版:逻辑版:java网课学习: 多态调用成员变量,编译看左边,运行也看左边。调用成员方法时,编译看左边,运行看右边。if(a instanceof Dog d) 导包final 修饰引用类型地址…

【Docker】MySQL、Reids、Mongodb、Nacos、RabitMQ安装指南

1 docker的下载 建议通过 火绒应用商店 或者 联想应用商店 下载 2 配置Docker 配置镜像站 https://docker.1panel.live {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": fa…

Web前端入门第 22 问:CSS 选择器一览

HTML 在语法上并无大小限制,所以其结构可以浩瀚无边,CSS 选择器的作用则是在这些复杂的 HTML 结构中进行元素定位。 示例代码 记住此代码,后面所有的 css 选择器都是基于此代码。 注意:代码中存在两个一样的 id="p1" 元素,仅为了演示效果,正常编码中请保证 id …

曼哈顿距离和切比雪夫距离

曼哈顿距离(Manhattan Distance) 解释:只能横着或竖着走,坐标上两点的距离 假设存在两点 \(A(x_1, y_1)\) \(B(x_2, y_2)\) \(dis(A, B) = |x_1 - x_2| + |y_1 - y_2|\)对于上方求曼哈顿距离的式子,有四种情况 \( \begin{cases} x_1 > x_2 & y_1 > y_2 & {…

如何设置家用威联通 NAS UPS 断电后自动关机并通知其他设备?

场景📝备注: 求轻喷, 求放过. 😅 我真的是个理线方面的白痴. 这已经是我的极限了. 😂我的家庭实验室 Homelab 服务器集群配置如下.上半部分之前已经介绍过了, 这里就不再赘述了. 今天重点介绍介绍 UPS 和 NAS 部分.1台 UPS, 型号为 APC Back-UPS 650. 插座插着: NAS 和 插…

[扫描线] 数据结构测试(2025.3.22)

暴力大赛,赛时暴力打满喜提80pts,可惜T1没想到暴力。 难度:T2<T1<T3.T1 第1题 团队 查看测评数据信息有n个工人,第i个工人的能力是v[i], 他只与能力在L[i]到R[i]之间的人在一起工作,问最多能选出多少人在一起工作。输入格式第一行,一个整数n, 1 <= n <…

centOS 上部署hadoop+mysql+hive 服务之hadoop安装

以下安装的hadoop版本是3.3.6 ,由于hadoop是运行于java环境,因此,需要提前安装java jdk并配置环境变量。 jdk的安装及配置: jdk8 国内下载路径:https://repo.huaweicloud.com/java/jdk/8u202-b08/ 可根据实际需要选择对应的jdk版本 1、下载jdkwget https://repo.huaweicl…

创建django视图和路由

第一个视图 from django.shortcuts import render from django.http import HttpResponse# Create your views here. def hello(request):msg = Hello World!!!return HttpResponse(msg)第一个路由 from django.urls import path from .views import hellourlpatterns = [path(…