VP Codeforces Round 944 (Div 4)

感受:

A~G 其实都不难,都可以试着补起来。 H看到矩阵就放弃了。

A题:

思路:

打开编译器

代码:

#include <iostream>
#include <vector>
#include <algorithm>
#define int long long
using namespace std;
const int N = 1e8;
inline void solve() {int a, b; cin >> a >> b;if (a > b) swap(a, b);cout << a << ' ' << b << endl;
}
signed main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int tt; cin >> tt;while (tt -- ) solve();return 0;
}

B题:

思路:

 思维一点。如果这个字符串不是全都一样的话,那么一定就是输出Yes的,具体在实现。如果在后面遇到过与开头不一样的字符,我们进行交换输出即可。

代码:

#include <iostream>
#include <vector>
#include <algorithm>
#define int long long
using namespace std;
const int N = 1e8;
inline void solve() {string a; cin >> a;if (a.size() == 1) return cout << "NO\n", void();char c = a[0];for (int i = 1; i < a.size(); i ++ ) {if (a[i] != c) {swap(a[i], a[0]);cout << "YES" << endl;cout << a << endl;return;}}cout << "NO" << endl;
}
signed main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int tt; cin >> tt;while (tt -- ) solve();return 0;
}

C题:

思路:

要判断是否相交,即要满足以下条件:(假设我们已经排好序)

1.第一条线段的开头小于第二条线段的开头

2.第一条线段的末尾大于第二条线段的开头

3.第二条线段的末尾大于第一条线段的末尾

排序过程可以想象成将12-1这段拆开来,将环变成线段。

代码:

#include <iostream>
#include <vector>
#include <algorithm>
#define int long long
#define x first
#define y second
using namespace std;
typedef pair<int, int> PII;
const int N = 1e8;
inline void solve() {PII a, b;cin >> a.x >> a.y;cin >> b.x >> b.y;if (a.x > a.y) swap(a.x, a.y);if (b.x > b.y) swap(b.x, b.y);if (a > b) swap(a, b);if (a.x < b.x && b.x < a.y && a.y < b.y) cout << "YES\n";else cout << "NO\n";
}
signed main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int tt; cin >> tt;while (tt -- ) solve();return 0;
}

 D题:

思路:

我们要尽可能少剪,那么可能是剪一连串的0或者1.

然后我们进行分类讨论

如果开头是0,有0001111这样子的子串,我们是不是还可以少剪一个?

如果开头是1,有1100111这样子的子串,我们还可以少剪一个。

代码:

#include <iostream>
#include <vector>
#include <algorithm>
#define int long long
#define x first
#define y secondusing namespace std;
typedef pair<int, int> PII;
const int N = 1e8;inline void solve() {string a; cin >> a;int n = a.size();if (n == 1) return cout << 1 << endl, void();// 001001001int cnt = 1;for (int i = 1; i < n; i ++ ) {if (a[i] != a[i - 1]) cnt += 1;}if (a[0] == '0') {cout << (cnt > 1 ? cnt - 1 : 1) << endl;}else {cout << (cnt > 2 ? cnt - 1 : cnt) << endl;}
}signed main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int tt; cin >> tt;while (tt -- ) solve();return 0;
}

E题:

思路:

速度是匀速的,主要问题是确定在哪段,我们直接二分即可。

代码:

#include <iostream>
#include <vector>
#include <algorithm>
#define int long long
#define x first
#define y secondusing namespace std;
typedef pair<int, int> PII;
const int N = 1e8;inline void solve() {int n, k, q; cin >> n >> k >> q;vector<PII> a(k + 2);a[1].first = a[1].second = 0;for (int i = 2; i <= k + 1; i ++ ) cin >> a[i].first;for (int i = 2; i <= k + 1; i ++ ) cin >> a[i].second;while (q -- ) {int x; cin >> x;int l = 1, r = k + 2;while (l + 1 != r) {int mid = (l + r) >> 1;if (a[mid].first < x) l = mid;else r = mid;}int len = a[r].second - a[l].second;int d = a[r].first - a[l].first;int t = x - a[l].first;int ans = a[l].second + t * len / d;cout << ans << ' ';}cout << endl;
}signed main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int tt; cin >> tt;while (tt -- ) solve();return 0;
}

F题: 

思路:

饶有兴趣的是,它是r的总和小于1e5.

所以我们可以直接枚举 x。

那么我们为什么要枚举 x 呢?

因为当我们移动 x 的时候,y的值也在进行变动

x^{2} + y^{2} = r ^{2}

y的值即可以用二分求出来了。

代码:

#include <iostream>
#include <vector>
#include <algorithm>
#define int long long
#define x first
#define y secondusing namespace std;
typedef pair<int, int> PII;
const int N = 1e5 + 9;
inline int fac(int t) {int ans = 0;for (int x = 0; x < t; x ++ ) {int now = t * t - x * x;int l = -1, r = t;while (l + 1 != r) {int mid = (l + r) >> 1;if (mid * mid < now) l = mid;else r = mid;}ans += r;}return ans;
}inline void solve() {int r; cin >> r;int ans = fac(r + 1) - fac(r);ans *= 4;ans -= 4;cout << ans << endl;
}
inline void pre_work() {}signed main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);pre_work();int tt; cin >> tt;while (tt -- ) solve();return 0;
}

G题:

思路:

一个数 x 跟哪些数异或起来会小于等于3?

答案是 x, x ^ 1, x ^ 2, x ^ 3

因为二进制从第三位开始就必须要一模一样了。

交换可以用map存数量,用的时候减去即可。

代码:

#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#define int long long
#define x first
#define y secondusing namespace std;
typedef pair<int, int> PII;
const int N = 1e5 + 9;inline void solve() {int n; cin >> n;vector<int> a(n + 1);map<int, int> cnt;for (int i = 1; i <= n; i ++ ) {cin >> a[i];cnt[a[i]] += 1;}for (int i = 1; i <= n; i ++ ) {int b[4];b[0] = a[i], b[1] = a[i] ^ 1, b[2] = a[i] ^ 2, b[3] = a[i] ^ 3;sort(b, b + 4);for (int j = 0; j < 4; j ++ ) {if (cnt[b[j]]) {cout << b[j] << ' ';cnt[b[j]] -= 1;break;}}}cout << endl;
}
inline void pre_work() {}signed main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);pre_work();int tt; cin >> tt;while (tt -- ) solve();return 0;
}

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

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

相关文章

ETL(抽取、转换、加载)

ETL&#xff08;抽取、转换、加载&#xff09; 目录 ETL&#xff08;抽取、转换、加载&#xff09; 1.抽取&#xff08;Extract&#xff09; 2.转换&#xff08;Transform&#xff09; 3. 加载&#xff08;Load&#xff09; 4.ETL 工具和技术 5.总结 ETL&#xff08;抽取、转…

编写Spring项目:流程与思路指南

编写Spring项目&#xff1a;流程与思路指南 本文以初级工程师的视角&#xff0c;介绍了Spring项目开发的全流程&#xff0c;从项目初始化到部署上线&#xff0c;每一步骤都配有必要的指导和建议。希望这份指南能够帮助初级工程师快速上手Spring项目开发&#xff0c;并在未来的…

【机器学习】数据分析特征

参考来源&#xff1a;https://www.bilibili.com/video/BV1nt411r7tj 1.数据质量分析 缺失值 异常值&#xff1a;箱线图 一致值&#xff08;多数据源不一致&#xff09; 2.图像可视化 占比&#xff1a;饼图、气泡图&#xff08;2-5维&#xff09; 波动图&#xff1a;折线…

Windows Docker 使用 httpd 部署静态 Web 站点

一、简介 httpd 是 Apache超文本传输协议&#xff08;HTTP&#xff09;服务器的主程序&#xff0c;是一个独立运行的后台进程&#xff0c;专门负责处理 HTTP 请求。它通过建立子进程或线程的池来高效管理请求&#xff0c;确保服务器能够迅速响应客户端的需求。httpd 因其高效率…

MySQL查询篇-聚合函数-窗口函数

文章目录 distinct 关键字聚合函数常见的聚合函数group by和having 分组过滤 窗口函数with as窗口聚合函数排名窗口函数值窗口函数 distinct 关键字 distinct 去重数据&#xff0c;ps:null值也会查出来 select distinct column from table;聚合函数 常见的聚合函数 select …

[AutoSar]BSW_Diagnostic_002 DCM模块介绍

目录 关键词平台说明背景一、DCM所处架构位置二、DCM 与其他模块的交互三、DCM 的功能四、DCM的内部子模块4.1 Diagnostic Session Layer (DSL)4.1 DSL 与其他模块的交互 4.2 Diagnostic Service Dispatcher (DSD)4.3 Diagnostic Service Processing (DSP)4.4 小结 关键词 嵌入…

linux程序分析命令(二)

linux程序分析命令(二) **ldd&#xff1a;**用于打印共享库依赖。这个命令会显示出一个可执行文件所依赖的所有共享库&#xff08;动态链接库&#xff09;&#xff0c;这对于解决运行时库依赖问题非常有用。**nm&#xff1a;**用于列出对象文件的符号表。这个命令可以显示出定…

Python元类:深入解析及其在框架开发中的应用

Python元类&#xff1a;深入解析及其在框架开发中的应用 一、引言 在Python中&#xff0c;元类&#xff08;Metaclass&#xff09;是一个高级特性&#xff0c;它允许我们控制类的创建过程。虽然在日常编程中&#xff0c;元类的使用可能并不频繁&#xff0c;但在框架开发、ORM…

莆田市C++专项选拔第二轮题4

题4&#xff1a;变换阵型 【题目描述】 盛隆同学刚学完C的二维数组和函数部分&#xff0c;于是他自己写了2个函数对二维数组进行练习。两个函数如下&#xff1a; int n, a[1005][1005]; // 注意&#xff0c;这里的n和数组a是全局变量 void f1() {for (int i 1; i < n; i)…

Python实现网页保持登录状态的技术方案及实际需求案例

文章目录 1. 使用Cookies直接管理2. 使用Web自动化工具3. 利用API Tokens4. 利用OAuth和其他认证机制5.Python实际需求案例5.1 方法一:多线程实现实现策略示例代码注意事项5.2 方法二:单例实现使用单例模式单例展示配合需求使用单例Python代码实现单例模式的优缺点5.3 方法一…

react 类组件 和 函数组件 声明周期 对比

React 的类组件和函数组件在生命周期方面存在一些差异。以下是它们之间的对比&#xff1a; 类组件的生命周期 React 类组件的生命周期可以分为三个阶段&#xff1a;挂载、更新和卸载。 1、挂载阶段&#xff1a; constructor()&#xff1a;组件实例化时调用&#xff0c;用于…

CNOCR和PaddleOCR提取pdf中文字-个人记录

目录 一、PyMuPDF 二、CNOCR 三、PaddleOCR 四、Tesseract&#xff08;没试&#xff09; 一、PyMuPDF 1.安装PyMuPDF pip install pymupdf 2.pdf转txt样例 import os import datetime import fitz # fitz就是pip install PyMuPDFdef pyMuPDF_fitz(pdfPath):startTime_p…

47岁古天乐唯一承认女友约「御用阿妈」过母亲节

日前关宝慧在IG晒出一张聚会照&#xff0c;并写道&#xff1a;「预祝各位#母亲节快乐&#x1f339;#dinner #happy #friends #好味」相中所见&#xff0c;前TVB金牌监制潘嘉德、卢宛茵、黄&#x28948;莹、黎萨达姆都有出席饭局。 当中黄&#x28948;莹身穿卡其色西装褛&…

blender 为世界环境添加纹理图像

1、打开世界环境配置项 2、点击颜色右侧的黄色小圆&#xff0c;选择环境纹理 3、打开一张天空图像 4、可以通过调整强度/力度&#xff0c;调整世界环境的亮度

《工具分享-整合功能网页》标星5.3k⭐开发人员的在线工具集:it-tools

IT Tools - 为方便开发人员提供的在线工具 部署自己的it-tools: 有两个版本&#xff0c;目前有中文支持。 直接部署使用docker指令获取出来的是英文的&#xff1a; 英文版&#xff1a; docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-…

TCP服务器实现将客服端发送的信息广播发送(使用内核链表管理客户端信息)

目录 1.服务器端实现思路 2.服务器端代码 3.客户端代码 4.内核链表代码 5.运行格式 一、服务器端 二、客户端 6.效果 1.服务器端实现思路 Tcp广播服务初始化 等待客户端连接 广播发送 2.服务器端代码 #include "list.h" #include <signal.h> #def…

基于数据挖掘与机器学习揭秘脱发主因

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 基于数据挖掘与机器学习揭秘脱发主因 目录 一、绪论背景描述数据说明内容大概 二、导入包以及数据读取三、数据预览四、探究导致脱发的因素4.1…

连续因子要点和难点具体应用和代码实例

连续因子是指在实验设计或数据分析中,表示可以在一定范围内连续变化的自变量或因素。与离散因子不同,连续因子的取值是无限的,并且可以是任意精度的实数值。在实验设计和统计分析中,连续因子通常用于探索变量之间的关系、预测结果或优化系统性能。 要点和难点: 要点: …

yh-hw

1 为什么选择各项指标的加权值 因为训练样本分布不均&#xff0c;2700的数据行中&#xff0c;1700左右的样本是neutral&#xff0c;而加权平均考虑了每个类别的样本数量&#xff0c;将每个类别的指标与其样本数量相乘&#xff0c;然后求和后除以总样本数。这种方法使得样本量大…

2.3. 连续时间鞅-平方可积的连续鞅

平方可积的连续鞅 平方可积的连续鞅1. 随机区间和简单过程2. 简单过程随机积分的平方变差3. 连续鞅的平方变差过程3.1. 连续鞅与有限变差过程3.2. 连续鞅平方的分解3.3. 连续鞅的交互变差过程平方可积的连续鞅 1. 随机区间和简单过程 数学分析及实变函数论中, 在处理一般函数…