CSP2024 游记

news2024/11/24 11:47:34

又是一年 CSP。。。

10 月 5 日,终于过 S 初赛了。。。

然后开始漫长的备战。。

在考试开始前 1 day,我还在兢兢业业地学习图论。然后发现没有考。。。

10 月 25 日下午 15:30,来到 CQBS 试机。我想,怎么测试性能呢?于是就打开了 florr 在 xxboyxx 的加持下,florr 连续合成四个红色的,后来他去上厕所,我继续合成,然后就再也没有合成成功了。。。

10 月 26 日上午

来到 CQBS,发现是 4 考场的第一个,当时所有人都到了,感觉自己有点尴尬。

CSP-J2024 开始前

使用 5 5 5 分钟敲完快读快写头文件等等。

CSP-J2024 开始了!

然后题目密码还是没发,结果是老师把解压包、题目的密码搞混了。。。神明失去了光。

T1

发现 T1 是最简单的,直接开一个 map,统计不同字符串出现次数,再用 52 52 52 减去他不就 A 了?

#include <bits/stdc++.h>
using namespace std;
map<string, bool> m;
signed main() {
	ios::sync_with_stdio(false);
	ios_base::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	int t, ans = 0;
	cin >> t;
	while (t--) {
		string a;
		cin >> a;
		if (!m[a])
			ans++, m[a] = 1;
	}
	cout << 52 - ans;
	return 0;
}

T2

有种写 bfs 的冲动,但是还是忍住了,于是把 dfs 里面核心代码给拎出来,然后就 A 了。

#include <bits/stdc++.h>
using namespace std;
char a[1010][1010];
int dx[] = {0, 1, 0, -1};
int dy[] = {1, 0, -1, 0};
bool vis[1010][1010];
int main() {
	ios::sync_with_stdio(false);
	ios_base::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	int t;
	cin >> t;
	while (t--) {
		int n, m, k;
		cin >> n >> m >> k;
		int x0, y0, d;
		cin >> x0 >> y0 >> d;
		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= m; j++) {
				cin >> a[i][j], vis[i][j] = 0;
			}
		}
		vis[x0][y0] = 1;
		int ans = 1;
		while (k--) {
			int xx = x0 + dx[d];
			int yy = y0 + dy[d];
			if (xx >= 1 && xx <= n && yy >= 1 && yy <= m && a[xx][yy] == '.') {
				x0 = xx, y0 = yy;
				if (!vis[xx][yy]) {
					ans++;
				}
				vis[xx][yy] = 1;
			} else {
				d = (d + 1) % 4;
			}
		}
		cout << ans << "\n";
	}
	return 0;
}

T3

哈哈哈哈,调了我三个小时,哈哈哈哈哈。

首先打了一个假算,然后发现输入 17 17 17 输出 228 228 228,输入 29 29 29 输出 2 ∗ ∗ ∗ ∗ 2**** 2,已经忘了。

首先

while (n - 7 > 28) {
	b[++id2] = 8;  //输出序列
	n -= 7;
}

然后 5 5 5 个 for。。。暴力枚举前 5 5 5 个数字的组合。

#include <bits/stdc++.h>
using namespace std;
int k[100], b[100010];
int main() {
	ios::sync_with_stdio(false);
	ios_base::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	int t;
	cin >> t;
	k[0] = k[6] = k[9] = 6, k[1] = 2, k[2] = k[3] = k[5] = 5, k[4] = 4, k[8] = 7;
	while (t--) {
		int id2 = 0;
		int n;
		cin >> n;
		if (n == 1) {
			cout << "-1" << endl;
		} else if (n == 2) {
			cout << "1" << endl;
		} else if (n == 3) {
			cout << "7" << endl;
		} else if (n == 4) {
			cout << "4" << endl;
		} else if (n == 5) {
			cout << "2" << endl;
		} else if (n == 6) {
			cout << "6" << endl;
		} else if (n == 7) {
			cout << "8" << endl;
		} else if (n % 7 == 0) {
			for (int i = 1; i <= n / 7; i++) {
				cout << 8;
			}
			cout << endl;
		} else {
			while (n - 7 > 28) {
				b[++id2] = 8;
				n -= 7;
			}
			string a = "9999999999999999999";
			for (int i = -1; i <= 9; i++) {
				for (int j = -1; j <= 9; j++) {
					for (int o = -1; o <= 9; o++) {
						for (int l = -1; l <= 9; l++) {
							for (int m = -1; m <= 9; m++) {
								string b = "";
								int sum = 0;
								if (i != -1) {
									b += i + '0';
									sum += k[i];
								}
								if (j != -1) {
									b += j + '0';
									sum += k[j];
								}
								if (o != -1) {
									b += o + '0';
									sum += k[o];
								}
								if (l != -1) {
									b += l + '0';
									sum += k[l];
								}
								if (m != -1) {
									b += m + '0';
									sum += k[m];
								}
								if (sum == n && b.size() > 0 && b[0] != '0') {
									if (a.size() > b.size())
										a = b;
									else if (a.size() == b.size()) {
										a = min(a, b);
									}
								}
							}
						}
					}
				}
			}
			for (int i = 0; i < a.size(); i++) {
				b[++id2] = a[i] - '0';
			}
			sort(b + 1, b + 1 + id2);
			int kk = 0;
			for (int i = 1; i <= id2; i++) {
				if (b[i] != 0) {
					kk = i;
					cout << b[i];
					break;
				}
			}
			for (int i = 1; i <= id2; i++) {
				if (i != kk) {
					cout << b[i];
				}
			}
			cout << endl;
		}
	}
	return 0;
}

是不是很暴力?

关于坐我旁边的人

这个人好像很大佬的样子,在我切完 T3 的时候就已经做完 T4 了。(他说就是图论)然后就在旁边玩,不像我,T4 题目都还没读懂。因此他影响了我的心态(他 AK 后就做了某个经典舞蹈中的一个著名动作,所以我就知道他是大佬)。

T4

哈哈哈哈,只有 30min 偷窥 T4 神秘的面纱啦!

赶紧花 5min 写了一个 dfs 暴力,最后调了 20min。。。。

考试结束,请考生立即停笔

笑死,老师让我们乖乖地坐在位置上,哎,还要签字。

没错,这是今年才多出来的流程,在老师征集文件后会将每个代码大小、提交时间等等打印下来,需要你比对是否一致,最后签字,才能离场。

然后也是非常麻烦,硬控我 20min,差点老师就漏掉了我,哼!

10 月 26 日中午

去吃了一个乡村基,但是我想吃的没有了。。呜呜呜。

吃完后去看了看重庆市人民大礼堂。从外面看非常壮观。


此图片来自百度。

进去之后,发现里面全是座位,虽然有 5 ∼ 6 5\sim 6 56 层,但是还是太高了点。。。往上看是张这样:


此图片来自百度。

一直盯着上面,有一种眩晕的感觉。然后就在座位上坐了下来,本来打算睡觉,结果一直在想 CSP-J2024 预估分数。现在看来应该睡一会儿的。。。但当时的想法是如果我睡了,下午就会想睡觉(毕竟我每次中午午休后,下午考试就一直待机)。

14:03,离开大礼堂,开始返回考点。

14:24,到达机房,赶紧敲头文件等等。

14:30,题目密码准时发下来,比上午好多了。

CSP-S2024 开始,第一次进入 S 的我十分忐忑。

T1

签。为什么别人都用 sort,就我一个人用计数排序?!

T2

脑子抽了,把 O ( T ( n + m ) ) \mathcal{O}(T(n + m)) O(T(n+m)) 的正解想成 O ( T n m ) O(Tnm) O(Tnm) 的暴力。然后没打,就一直在调 O ( T n ) \mathcal{O}(Tn) O(Tn) 的算法。最后用了 3h,遗憾离场,最后只得了 40 p t s 40pts 40pts

T3

dfs,没什么好说的,只有 20 p t s 20pts 20pts

关于坐我旁边的人

一个 BS 的,首先他考试的时候敲键盘敲得很大声(据说是一种战术?)严重影响我的思考,并且他把小零食放在桌子下面,每过 15 15 15 分钟,弯下腰去食小零食,并且每次都会下座位,然后我又被影响了。

CSP2024 结束了

感觉自己好弱智啊,T2 连 dfs 都没写,关键是 O ( n m ) \mathcal{O}(nm) O(nm) 的 check 都没想到。

但愿能够拿下勾 6。

快祝我蓝勾!

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

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

相关文章

opencv - py_imgproc - py_grabcut GrabCut 算法提取前景

文章目录 使用 GrabCut 算法进行交互式前景提取目标理论演示 使用 GrabCut 算法进行交互式前景提取 目标 在本章中 我们将了解 GrabCut 算法如何提取图像中的前景我们将为此创建一个交互式应用程序。 理论 GrabCut 算法由英国剑桥微软研究院的 Carsten Rother、Vladimir K…

视频制作软件新手必备:8款剪辑工具剪辑思路分享!

随着视频的高度发展&#xff0c;视频已成为一种重要的工具&#xff0c;用以学习娱乐、记录生活点滴以及传递各类信息。不论是制作个人MV、进行企业宣传&#xff0c;还是创作短视频内容&#xff0c;拥有一款功能恰当的视频剪辑软件都显得至关重要。对于初学者而言&#xff0c;选…

无人机避障——路径规划篇(一) JPS跳点搜索算法A*算法对比

JSP 跳点搜索算法与改进 A*算法对比 一、算法概述: 跳点搜索(Jump Point Search,JPS)算法:一种用于路径规划的启发式搜索算法。它主要用于在网格地图(如游戏地图、机器人运动规划地图等)中快速找到从起点到终点的最短路径。该算法在改进 A*算法的基础上进行了优化,通过跳过一…

解决Linux安装Anaconda后出现的conda: command not found问题

参考链接&#xff1a;解决Linux安装Anaconda后出现的conda: command not found问题-百度开发者中心

AI直播带货场景切换模块的搭建!

AI直播带货&#xff0c;作为电商领域的新宠&#xff0c;正以其独特的魅力和高效的营销手段&#xff0c;引领着销售模式的新变革。 在AI直播带货中&#xff0c;场景切换模块是不可或缺的一部分&#xff0c;它不仅能够提升观众的观看体验&#xff0c;还能更好地展示商品&#xf…

15 Docker容器存储架构:docker存储驱动简介

文章目录 一、Docker 存储驱动探索1.1 存储驱动1.2 存储驱动方式1.3 非持久化存储1.4 持久化存储一、Docker 存储驱动探索 1.1 存储驱动 Storage driver处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户提供了多层数据合并后的统一视图。 [superman@docker ~]$…

Aicbo:一键生成高质量画作,适合初学者的AI绘画助手

越来越多的智能工具开始进入人们的视野&#xff0c;它们不仅简化了创作流程&#xff0c;还极大地提高了作品的质量。在这一背景下&#xff0c;Aicbo作为一款新兴的AI绘画工具&#xff0c;以其独特的优势和免费试用的政策&#xff0c;迅速获得了广泛的关注和好评。本文将从多个角…

STM32 从0开始系统学习5

目录 STM32 GPIO输入的四种模式 Practice And Usage 练习与封装 Detailed And Reference 更加具体的说明 输入浮空模式 输入上拉模式 输入下拉模式 模拟功能 我们下面聊一聊输入的事情&#xff0c;输入指的是我们的处理器从外部端口接受外设发过来的信号。在我们没有接…

使用Git进行版本控制的最佳实践

文章目录 Git简介基本概念仓库&#xff08;Repository&#xff09;提交&#xff08;Commit&#xff09;分支&#xff08;Branching&#xff09; 常用命令初始化仓库添加文件提交修改查看状态克隆仓库分支操作合并分支推送更改 最佳实践使用有意义的提交信息定期推送至远程仓库使…

冒泡排序和二分查找--go

冒泡排序的逻辑 二分查找的逻辑 func bubbleSort(arr *[5]int){//冒泡排序fmt.Println(*arr)temp : 0for j : len(*arr); j > 0; j-- {for i : 0; i < j-1; i {temp (*arr)[i]if((*arr)[i] > (*arr)[i1]){(*arr)[i] (*arr)[i1](*arr)[i1] temp}}} }func binaryF…

flutter区别于vue的写法

View.dart 页面渲染&#xff1a; 类似于vue里面使用 <template> <div> <span> <textarea>等标签绘制页面, flutter 里面则是使用不同的控件来绘制页面 样式 与传统vue不同的是 flutter里面没有css/scss样式表&#xff0c; Flutter的理念是万物皆…

电影《焚城》全国上映 王丹妮诠释新时代女性力量

今日&#xff0c;电影《焚城》全国上映&#xff0c;该片由刘德华、白宇、莫文蔚和王丹妮主演&#xff0c;以一场由高强度放射性物质铯137泄漏引发的城市灾难为背景&#xff0c;深刻描绘了人们在生死存亡关头的抉择与抗争。 王丹妮在片中饰演飒爽独立、智慧勇敢的消防队长Madam …

uniapp:启动界面关闭时长控制

代码控制关闭启动界面 App启动后不会自动关闭启动界面&#xff0c;需要在代码中调用plus.navigator.closeSplashscreen关闭启动界面。"app-plus" : {"splashscreen" : {"alwaysShowBeforeRender" : false,"autoclose" : false,}, }很多…

Three.js 快速入门构建你的第一个 3D 应用

![ 开发领域&#xff1a;前端开发 | AI 应用 | Web3D | 元宇宙 技术栈&#xff1a;JavaScript、React、Three.js、WebGL、Go 经验经验&#xff1a;6年 前端开发经验&#xff0c;专注于图形渲染和AI技术 开源项目&#xff1a;github 晓智元宇宙、数字孪生引擎、前端面试题 大家好…

二:java 基础知识(2)-- 初始java/语法基础

目录 idea中文插件 第一个 Java 程序 Java数据类型&#xff0c;常量与变量 1. 数据类型 1.1 基本数据类型 1.2 引用数据类型 2. 常量 2.1 特性 2.2 定义常量 ​编辑 3. 变量 3.1 变量的定义与初始化 3.2 变量的类型 局部变量&#xff1a;在方法内声明的变量&#xff0…

【AAOS】【源码分析】CarSystemUI -- CarSystemBar

CarSystemBar不像Android手机那样固定的顶部“状态栏”和底部“导航栏”,而是将StatusBar和NavigationBar都统称为SystemBar,可以通过如下配置为每侧最多配置一个“系统栏”。 packages/apps/Car/SystemUI/res/values/config.xml<!-- Configure which system bars should …

企业物流管理数据仓库建设的全面指南

文章目录 一、物流管理目标二、总体要求三、数据分层和数据构成&#xff08;1&#xff09;数据分层&#xff08;2&#xff09;数据构成 四、数据存储五、数据建模和数据模型&#xff08;1&#xff09;数据建模&#xff08;2&#xff09;数据模型 六、总结 在企业物流管理中&…

多线程学习篇六:park / unpark

1. API LockSupport.park()&#xff1a;暂停当前线程LockSupport.unpark (线程对象)&#xff1a;恢复某个线程的运行 1.1 先 park 再 unpark main 线程睡眠时间大于 t1 线程睡眠时间 Slf4j(topic "c.Test01") public class Test01 {public static void main(Str…

计算机网络:网络层 —— IPv4 数据报的首部格式

文章目录 IPv4数据报的首部格式IPv4数据报分片生存时间 TTL字段协议字段首部检验和字段 IPv4数据报的首部格式 IPv4 数据报的首部格式及其内容是实现 IPv4 协议各种功能的基础。 在 TCP/IP 标准中&#xff0c;各种数据格式常常以32比特(即4字节)为单位来描述 固定部分&#x…

基于SSM演出道具租赁系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;道具类型管理&#xff0c;道具出租管理&#xff0c;租赁订单管理&#xff0c;道具归还管理&#xff0c;系统管理 商家账号功能包括&#xff1a;系统首页&…