A.Race

**在这里插入图片描述**

题目大意

给你两个x,y,终点会在二点之间随机出现,alice在点a,假设alice和bob有相同的速度(距离更短者用时更少),问对于bob是否存在一点,无论终点是x还是y,他都能比alice更快到达

思路

如果alice在x,y点之间,bob无法比他更快否则只要在外侧,bob选择比她更接近终点的一点即可

// Author: zengyz
// 2025-06-23 14:59#include <bits/stdc++.h>using namespace std;
typedef long long ll;void solve()
{int n, k;cin >> n >> k;for (int i = 1; i <= k; i++)cout << 1;for (int i = 1; i <= n - k; i++)cout << 0;cout << endl;return;
}int main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int _T = 1;cin >> _T;while (_T--){solve();}return 0;
}

B.Shrinking Array

在这里插入图片描述
在这里插入图片描述

题目大意

定义一个数组“美丽”如果存在一点i, ∣ b i − b i + 1 ∣ < = 1 |b_i-b_{i+1}|<=1 bibi+1<=1

你可以进行如下操作:
每次选择i和i+1,在 m i n ( a i , a i + 1 ) 到 m a x ( a i , a i + 1 ) min(a_i,a_{i+1})到max(a_i,a_{i+1}) min(ai,ai+1)max(ai,ai+1)之间选择一个值,将 a i 和 a i + 1 a_i和a_{i+1} aiai+1从数组中移除(数组元素个数减一)
,并将x放到他们的位置上

思路

实际上只有三种情况:
1.一开始就满足要求,存在“美丽”的情况,输出0
2.不满足要求,查看数组是否单调递增或递减,如果是这样那么无论多少次都无法构成,输出-1
3.数组并非单调递增或递减,那么一定存在一个数i,在它左侧或者右侧两个数的最大最小值之间,输出1

//Author: zengyz
//2025-06-23 22:41#include <bits/stdc++.h>using namespace std;
using i64 = long long;void solve()
{int n;cin>>n;vector<int>a(n);for(auto &x:a)cin>>x;for(int i=1;i<n;i++){if(abs(a[i-1]-a[i])<=1){cout<<0<<endl;return;}}bool flag=false;if(a[1]>a[0]){for(int i=1;i<n;i++){if(a[i]<a[i-1])flag=true;}}else {for(int i=1;i<n;i++){if(a[i]>a[i-1])flag=true;}}if(flag){cout<<1<<endl;return;}cout<<-1<<endl;return;
}int main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int _T = 1;cin >> _T;while(_T --) {solve();}return 0;
}

C.Coloring Game

在这里插入图片描述
在这里插入图片描述

题目大意

给你一个n个元素的数组,Alice先手可以涂任意3个元素,Bob后手涂任意一个(包括Alice涂过的)
问Alice有多少种涂法使得无论Bob怎么涂,Alice涂过的元素和加起来大于Bob涂过的

思路

Alice获胜一共有两种情况
假设Alice涂的元素为a<=b<=c,数组最后一个元素为y
Bob有两种选择,要么涂c要么涂y
要么a+b+c>=y
要么a+b>c
选定a,b,然后二分c可能的取值即可

// Author: zengyz
// 2025-06-23 22:53#include <bits/stdc++.h>using namespace std;
typedef long long ll;
void solve()
{int n;cin >> n;vector<int> a(n);for (auto &x : a)cin >> x;long long res = 0;long long ans = 0;for (int i = 0; i < n-1; i++){for (int j = i + 1; j < n - 1; j++){long long tmp = a[i] + a[j];long long l = j + 1, r = n - 1;l = max(l, (ll)upper_bound(a.begin(), a.end(), a[n-1] - tmp) - a.begin());r = min(r,(ll) lower_bound(a.begin(), a.end(), tmp) - a.begin()-1);res = max(0ll, r - l + 1);ans += res;}}cout << ans << endl;return;
}int main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int _T = 1;cin >> _T;while (_T--){solve();}return 0;
}

D. Reachability and Tree

在这里插入图片描述
在这里插入图片描述

题目大意

给你一颗n个节点n-1条边的树,设u,v是一对有序对如果从u到v存在一条路径,将每条边都分配方向,确定树上是否存在n对有序对

思路

如果每条边都是相反的方向,那么存在n-1条有序对,这是最少的情况,那么怎么再增加一对有序对呢?考虑树上存在两条边为相同方向,那么两条边存在三对有序对(a->b->c,有ab,ac,bc)
所以我们要找这样的一组两条边,在树上寻找度为2的点,将它和它相邻的两个点的两条边设为相同方向,让其他边彼此都为不同方向即可

// Author: zengyz
// 2025-06-24 10:24#include <bits/stdc++.h>using namespace std;
typedef long long ll;void solve()
{int n;cin >> n;vector<int> du(n + 1);vector<vector<int>> edge(n + 1);for (int i = 0; i < n - 1; i++){int x, y;cin >> x >> y;du[x]++;du[y]++;edge[x].push_back(y);edge[y].push_back(x);}int idx = 0;while (du[idx] != 2){idx++;if (idx == n+1){cout << "NO" << endl;return;}}vector<pair<int, int>> ans;auto dfs1 = [&](auto &&dfs1, int now, int fa, int status) -> void{if (idx == now){int u = edge[now][0], v = edge[now][1];ans.push_back({u, idx});ans.push_back({idx, v});dfs1(dfs1, u, idx, 1);dfs1(dfs1, v, idx, -1);return;}for (auto i : edge[now]){if (i == fa)continue;if (status == 1){ans.push_back({now, i});dfs1(dfs1, i, now, -1);}else{ans.push_back({i, now});dfs1(dfs1, i, now, 1);}}};dfs1(dfs1, idx, -1, 1);cout << "YES" << endl;for (int i = 0; i < ans.size(); i++){cout << ans[i].first << " " << ans[i].second << endl;}return;
}int main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int _T = 1;cin >> _T;while (_T--){solve();}return 0;
}

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

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

相关文章

python requests post请求

在Python中&#xff0c;使用requests库进行POST请求是一种常见的操作&#xff0c;用于向服务器发送数据。下面是如何使用requests库进行POST请求的步骤&#xff1a; 安装requests库 如果你还没有安装requests库&#xff0c;可以通过pip安装&#xff1a; pip install requests…

Postman中设置定时自动运行接口测试

‌创建测试集合‌ 将需每日运行的接口组织到Collection中&#xff0c;并配置好测试脚本和断言。 ‌配置定时运行‌ 打开目标Collection → 点击 ‌Run‌ 按钮在Collection Runner页面底部选择 ‌Schedule runs‌关键配置&#xff1a; Frequency: Daily // 选择每日执行 Time…

multiprocessing.pool和multiprocessing.Process

在CPU密集型任务中&#xff0c;Python的multiprocessing模块是突破GIL限制的关键工具。multiprocessing.Pool&#xff08;进程池&#xff09;和multiprocessing.Process&#xff08;独立进程&#xff09;是最常用的两种并行化方案&#xff0c;但其设计思想和适用场景截然不同。…

容器技术技术入门与 Docker 环境部署

目录 一&#xff1a;Docker概述 1、 Docker的优势&#xff1a; &#xff08;1&#xff09;环境一致性 &#xff08;2&#xff09;隔离性 &#xff08;3&#xff09;资源高效 &#xff08;4&#xff09;便捷性和可扩展性 2、Docker容器与传统虚拟机的区别 3、Docker的应用…

Oracle获取执行计划之DBMS_XPLAN 技术详解1

在 Oracle 数据库的管理与优化工作中&#xff0c;深入了解 SQL 语句的执行计划是至关重要的一环。DBMS_XPLAN 包作为 Oracle 提供的强大工具&#xff0c;能够帮助数据库管理员&#xff08;DBAs&#xff09;和开发人员清晰地查看和分析 SQL 语句的执行计划&#xff0c;从而实现对…

【Python】VScode配置Python教程

文章目录 【Python】VScode配置Python教程下载Python安装插件解决乱码彻底运行vscode安装python库 【Python】VScode配置Python教程 前言&#xff1a; 当「Python 编程潜力」遇上「VSCode 开发神器」&#xff0c;会点燃怎样的效率革命&#xff1f;试想这样的场景&#xff1a;你…

PowerBI HtmlContent生成表格

假设有销量表: 1.PowerBI 导入 Html Content对象&#xff0c;并拖入报表 2.新建度量值: 度量值 VAR colCount DISTINCTCOUNT(销量[产品]) VAR ColumnHeaders "<tr><th styleborder:1px solid black; padding:5px; text-align:center; colspan"&col…

【人工智能与机器人研究】基于运动数据时空特征提取的人类运动片段分割方法

导读 动作示教方法是非专家用户对人形机器人进行控制的可靠形式&#xff0c;而对人类动作数据的运动分割与理解是其前提。利用现有方法对所捕获人类运动原始数据进行关键帧提取与运动分割时&#xff0c;由于数据特征不明确&#xff0c;导致难以准确定位运动起始帧、结束帧及分…

ARM内核之CMSIS

1.什么是CMSIS&#xff1f; CMSIS&#xff08;Cortex Microcontroller Software Interface Standard&#xff0c;Cortex微控制器软件接口标准&#xff09;提供Cortex-M内核与软件之间的接口&#xff0c;即用户可以通过这些统一的接口&#xff08;函数API&#xff09;去访问底…

嵌入式软件面经(二)Q: Modbus协议CRC校验的方式是什么?它有哪些优势?

Modbus协议使用的CRC&#xff08;循环冗余校验&#xff09;是一种用于确保数据通信完整性和准确性的差错检测方法。在Modbus RTU通信中&#xff0c;CRC校验过程清晰明确&#xff0c;且被广泛应用于工业通信场景。 一、Modbus协议的CRC校验流程 &#xff08;一&#xff09;CRC计…

glib-object 中G_DEFINE_TYPE 宏都作了什么?

author: hjjdebug date: 2025年 06月 25日 星期三 15:35:26 CST descrip: glib-object 中G_DEFINE_TYPE 宏都作了什么? 文章目录 1. 测试代码2 给出它的展开式.3.说说它都生成了什么?3.1. my_foo_get_type() 函数3.2. static GType my_foo_get_type_once(void)3.3. my_foo_cl…

Alembic迁移系统初始化实战教程

下面是一份结构清晰、步骤明确的 基于 Alembic Pydantic SQLAlchemy 的数据库迁移系统初始化教程&#xff0c;非常适合初次搭建项目或团队规范流程参考。 &#x1f680; Alembic SQLAlchemy Pydantic 项目数据库迁移初始化教程 本教程将指导你如何从零初始化 Alembic 迁移…

灰度发布怎么保证数据库一致的

注&#xff1a; 以下内容来源于deepseek答案&#xff0c;生产环境以实际情况为主&#xff01; 在灰度发布中保证数据库一致的最优解需要同时满足安全性、低复杂度和高可操作性。结合多年实战经验&#xff0c;以下是最推荐的黄金方案&#xff08;适用于90%以上场景&#xff09;&…

不用vue,只用html,即可简单实现electron项目

为你提供一个 最简单的 Electron 项目模板&#xff0c;包含完整的代码、配置和打包说明。即使你是小白&#xff0c;也能快速上手。 1. 项目结构 /your-project├── main.js # Electron 主进程文件├── preload.js # 安全通信脚本&#xff08;可选&#xf…

C++11原子操作:从入门到精通

文章目录 一、什么是原子操作&#xff1f;二、为什么需要原子操作&#xff1f;三、C11中的<atomic>头文件四、基本使用1. 声明原子变量2. 基本原子操作 五、内存顺序&#xff08;Memory Order&#xff09;示例&#xff1a;使用内存顺序实现自旋锁 六、原子类型模板七、实…

深入解析Flink Local模式启动流程源码:揭开作业初始化的神秘面纱

在Flink的数据处理体系中&#xff0c;Local模式凭借无需依赖分布式集群资源的特性&#xff0c;成为开发测试阶段快速验证作业逻辑的利器。其启动流程的源码里&#xff0c;藏着从作业提交到任务执行的完整脉络。接下来&#xff0c;我们将深入关键代码段&#xff0c;逐行剖析Flin…

二刷 苍穹外卖 day06

HttpClient 用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包 作用&#xff1a; 发送HTTP请求 接受响应数据 应用场景&#xff1a; 当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时 其实&#xff0c;应用程序本身并未实现这些功能&#xff…

React第六十三节Router中BrowserRouter的用途及注意事项

前言 BrowserRouter 是 React Router 库的核心组件&#xff0c;用于实现单页面应用&#xff08;SPA&#xff09;的客户端路由。它利用 HTML5 History API 管理 URL&#xff0c;实现页面无刷新跳转。下面详细解释其用途、使用方法和代码示例&#xff1a; 一、BrowserRouter 核…

《Self-Adapting Language Models》(SEAL)代码阅读笔记

代码&#xff1a;https://github.com/Continual-Intelligence 脚本命令用法&#xff1a;knowledge-incorporation/README.md 生成self-edit数据 脚本&#xff1a;sbatch knowledge-incorporation/scripts/make_squad_data.sh vllm serve启动Qwen2.5-7B模型的服务。 执行self-e…

GelSight Mini视触觉传感器开发资源升级:触觉3D点云+ROS2助力机器人科研与医疗等应用

近日&#xff0c;GelSight宣布对其GelSight Mini视触觉传感器的GitHub支持页面进行重大更新&#xff0c;围绕3D点云重建、ROS2 集成及开发者支持体系推出三大核心升级&#xff0c;助力机器人触觉感知、工业检测及科研场景落地。 GelSight Mini视触觉传感器重磅发布&#xff01;…