2023 江西省大学生程序设计竞赛

news/2024/11/20 9:24:21/

写在前面的话:跟错榜了,死磕C题,又不懂sg然后就寄了。幸好队友带飞,最后把B题开出来了。最后六题rank18。(这个故事告诉我们不要乱跟榜啊

比赛链接:https://codeforces.com/gym/104385

L

签到题,输出 N − 1 N - 1 N1,感觉大可不必qwq~

A

签到题,输出 n ≤ s × v n \le s \times v ns×v的结果

I

题意:给一棵无向带边权树,有两个操作,第一个操作是让 u − v u - v uv这条边的边权异或上 w w w,第二个操作是让所有与 x x x相连的边的边权异或和
Solution:用个数组存一下这个点的答案即可

#include <bits/stdc++.h>
using ll = long long;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int n, m;std::cin >> n >> m;std::vector<int> val(n);for (int i = 0; i < n - 1; i ++) {int u, v, w;std::cin >> u >> v >> w;u --;v --;val[u] ^= w;val[v] ^= w;}while (m --) {int op;std::cin >> op;if (op == 1) {int u, v, w;std::cin >> u >> v >> w;u --;v --;val[u] ^= w;val[v] ^= w;} else {int x;std::cin >> x;x --;std::cout << val[x] << "\n";}}return 0;
}

K

题意:有一个长度为 n n n的递减序列,有两个操作,第一个操作是让 a i = a i + 1 + a i − 1 − a i a_i = a_{i+1} + a_{i-1} - a_i ai=ai+1+ai1ai ,第二个操作是把它分成 k k k 个线段,每个线段的价值是线段内的极差,求出怎么分使得价值和最小。
Solution:首先,它经过操作后仍然是递减序列,对于 a i = a i + 1 + a i − 1 − a i > a i + 1 a_i = a_{i+1} + a_{i-1} - a_i > a_{i+1} ai=ai+1+ai1ai>ai+1 发现他是显然的。既然是递减序列,那么计算这 n n n个数的相邻差,分成 k k k 段,就需要消除掉 k − 1 k - 1 k1 个相邻数,只需要把最大的删掉即可,也就是相邻差的前 n − k n - k nk 个数,前缀和处理一下。

#include <bits/stdc++.h>
using ll = long long;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int n;std::cin >> n;std::vector<int> a(n), b;for (int i = 0; i < n; i ++) {std::cin >> a[i];if (i - 1 >= 0)b.push_back(a[i - 1] - a[i]);}sort(b.begin(), b.end());std::vector<ll> s(n);for (int i = 0; i < n - 1; i ++)s[i + 1] = s[i] + b[i];int q;std::cin >> q;while (q --) {int op, k;std::cin >> op >> k;if (op == 1) {std::cout << s[n - k] << "\n";}}return 0;
}

J

题意:给你 n n n 个形如 y = ( x − i ) 2 + b i y = (x - i)^2 + b_i y=(xi)2+bi 的函数,其中 1 ≤ i ≤ n ≤ 1 0 5 1 \le i \le n \le 10^5 1in105 有两个操作,第一个操作,给出 x = a x = a x=a,求所有函数的最小值,第二个操作,给出 a , c a, c a,c,增加一条函数 y = ( x − a ) 2 + c y = (x - a)^2 + c y=(xa)2+c
Solution:因为最大 n ≤ 1 0 5 n \le 10^5 n105,求最小值的话,只需要枚举 n \sqrt n n 内的函数就行,第二个操作只需对原有的函数对 b i b_i bi 取个min就行,因为要求最小值。

#include <bits/stdc++.h>
using ll = long long;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int n;std::cin >> n;std::vector<int> b(n + 1);for (int i = 1; i <= n; i ++) {std::cin >> b[i];}int m;std::cin >> m;int B = std::sqrt(n);while (m --) {int op;std::cin >> op;if (not op) {int a, c;std::cin >> a >> c;b[a] = std::min(b[a], c);} else {int a;std::cin >> a;int l = std::max(1, a - B - 1);int r = std::min(n, a + B + 1);int ans = 1E9;for (int i = l; i <= r; i ++) {ans = std::min(ans, (a - i) * (a - i) + b[i]);}std::cout << ans << "\n";}}return 0;
}

B

队友写的,还不会qwq


http://www.ppmy.cn/news/89102.html

相关文章

CCIG:智能文档处理「新未来」

文章目录 ⭐️ CCIG大会简介⭐️ 领先世界的智能文档处理技术&#x1f31f; 智能图像处理&#xff1a;为文字识别 "增质提效" 筑基✨ 切边增强 - 提升文档图像质量✨ 弯曲矫正 - 解决图像畸变问题✨ 去摩尔纹 - 保证图像信息完整 &#x1f31f; 图像预处理整体效果展…

Go | zap

Go | zap 1. 简介 那些介绍、性能比较直接看参考中zap链接&#xff0c;这里只介绍该日志库用法&#xff0c;方便快速上手。 package mainimport ("go.uber.org/zap" )func main() {logger, _ : zap.NewProduction()defer logger.Sync()logger.Info("hello wo…

兼容性测试点和注意项,建议收藏

一&#xff1a;兼容性测试的概念&#xff1a;就是验证开发出来的程序在特定的运行环境中与特定的软件、硬件或数据相组合是否能正常运行、有无异常的测试过程。 二&#xff1a;兼容性测试的分类&#xff1a; &#xff08;1&#xff09;浏览器兼容性测试 指的是在浏览器上检查…

python爬虫之ajax网页抓取

在进行python爬虫时&#xff0c;我们经常会面对一些采用Ajax异步加载数据的网页&#xff0c;这种情况下&#xff0c;我们无法通过直接获取网页源代码来获取需要的数据。本文将介绍如何使用python爬虫抓取Ajax网页。 一、Ajax简介 Ajax全称为Asynchronous JavaScript and XML&…

基于RetinaNet和TensorFlow Object Detection API实现目标检测(附源码)

文章目录 一、RetinaNet原理二、RetinaNet实现1. tf.train.CheckPoint简介2. RetinaNet的TensorFlow源码 一、RetinaNet原理 待补充 二、RetinaNet实现 1. tf.train.CheckPoint简介 待补充 2. RetinaNet的TensorFlow源码 Step 1&#xff1a;安装Tensorflow 2 Object Detect…

JavaEE(系列10) -- 多线程案例3(定时器)

目录 1. 定时器 2. 标准库中的定时器 3. 实现定时器 3.1 创建带优先级的阻塞队列 3.2 创建MyTask类 3.3 构建schedule方法 3.4 构建timer类中的线程 3.5 思考 1. 定时器 定时器也是软件开发中的一个重要组件. 类似于一个 "闹钟". 达到一个设定的时间之后, 就执行某…

【GPT科技系列】国内开发者调用openAI-API科技方法

1. 前言 openAI上线7个月了&#xff0c;但是随着openAI的约束越来越多&#xff0c;国内开发者想要使用openai的接口实现开发简直就是难上加难。那真的就没有办法了吗&#xff1f;no no no&#xff0c;CF解决一切不开心~ 2.准备工作 我们需要一个国际域名 注册cloudflare账号 …

在Windows上安装Docker与k8s,完美亲测!

一、软件准备 1、去Docker官网下载Docker Desktop&#xff0c;并一键安装 2、下载k8s-for-docker-desktop包 git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git二、镜像源配置 配置docker的国内镜像&#xff0c;国外的网络下载可能比较慢 doc…